码迷,mamicode.com
首页 > 其他好文 > 详细

创建型模式---工厂模式

时间:2018-04-17 23:43:24      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:选择   png   参数   tor   服务   静态方法   win   map   http   

从简单到复杂有简单工厂模式-->工厂方法模式-->抽象工厂模式

简单工厂模式(Simple Factory Pattern)

定义

又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

产生背景

当一个模块只需要一个工厂类,没必要把工厂类也抽象出来的时候,使用静态方法就行。

UML图

技术分享图片

代码

public class SimpleDrinkFactory {

    public static <T extends Drink> T getDrink(Class<T> c) {
        //定义一个饮料
        Drink drink = null;

        try {
            drink = (Drink) Class.forName(c.getName()).newInstance();
        } catch (Exception e) {
            System.out.println("生产饮料失败!");
        }

        return (T) drink;
    }

}

使用场景:

  1. 日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。
  2. 数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。
  3. 设计一个连接服务器的框架,需要三个协议,"POP3"、"IMAP"、"HTTP",可以把这三个作为产品类,共同实现一个接口。

创建型模式---工厂模式

标签:选择   png   参数   tor   服务   静态方法   win   map   http   

原文地址:https://www.cnblogs.com/waynelsh/p/8870735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!