Factory Method Pattern (工厂方法模式)------------学习笔三
今天下了班,跑到深圳的中心公园走走,嗯 感觉真不错,以后可以那里踢足,呵呵。在深圳想找块地踢球都难啊。。加油!![]()
Factory Method Pattern (工厂方法模式)
定义: Factory Method Pattern 又称工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂 (Polymorphic Factory ) 模式。
父类负责定义创建对旬的公共接口,而子类则负责生成具体的对象,将类的实例化操作交给子类完成。
类或对象之间的关系为:
Product (产品角色)
定义产品的接口
ConcreteProduct(真实的产品)
实现接口Product的类
Creator(工厂角色)
声明工厂方法 (FactoryMethod),返回一个产品
ConcreteCreator(真实工厂)
实现 FactoryMethod 工厂方法,由客户调用,返回一个产品的实现
优缺点:
一、基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。
二、在系统中加入新产品时,无需修改抽象工厂和抽象产品提供的接口,无需修改其他的具体工厂和具体产品,而只要添加一个具体工厂和具体产品就可以了,系统的可扩展性非常好。
三、缺点是在添加新产品时,需要编写新的具体产品类,而且还要提供与之对应的具体工厂类。
优秀的面向设计鼓励使用 Encapsulation (封装) 和 Delegation (委托) 来构造软件系统。
应用情景
1、类不知道自己要创建哪一个对象。
2、类用它的子类来指定创建哪个对象。
3、客户需要清楚创建了哪一个对象。
我觉得 Factory Method Pattern 比 Simple Factory Pattern 模式较优是因为, Factory Method Pattern 比 Simple Factory Pattern 有更高的抽象,简单的说是 Factory Method Pattern 创建了多个生产产品的工厂,而 Simple Factory Pattern 只有一个工厂可生产多个产品,有足够的远见,自然代价也是更高的成本。
示例代码:
参考文献:莫勇腾.深入浅出设计模式[M].北京:清华大学出版社,2006





}
}
浙公网安备 33010602011771号