首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

工场方法模式(Factory Method)

2012-12-23 
工厂方法模式(Factory Method)工厂方法模式的结构:结构与角色如下图: 工厂方法模式的系统涉及到的角色如下

工厂方法模式(Factory Method)
工厂方法模式的结构:
结构与角色如下图:



工厂方法模式的系统涉及到的角色如下:

1)抽象工厂(Creator):担任这个角色的是工厂方法模式的核心,它是与应用无关的,也就是上图的Creator。在实际系统中,这个角色也常常使用抽象Java类实现。

2)具体工厂(ConcreteCreator):担任这个角色的是实现了抽象工厂的具体Java类,也就是上图的ConcreteCreator01与ConcreteCreator02。

3)抽象产品(Product):工厂方法模式所创建的对象的超类型,也就是产品对象共同的父类或拥有的接口,如上图中的Product。

4)具体产品(ConcreteProduct):这个角色实现了抽象产品角色所声明的接口,如上图的ConcreteProduct01,ConcreteProduct02。

工厂方法模式在农场的实现:

抽象工厂角色FruitGardener 的源代码:

public interface FruitGardener {public Fruit factory();}


具体工厂角色AppleGardener 的源代码 :

public class AppleGardener implements FruitGardener {@Overridepublic Fruit factory() {return new Apple();}}


具体工厂角色GrapeGardener 的源代码 :
public class GrapeGardener implements FruitGardener {@Overridepublic Fruit factory() {return new Grape();}}


具体工厂角色StrawberryGardener 的源代码 :

public class StrawberryGardener implements FruitGardener {@Overridepublic Fruit factory() {return new Strawberry();}}


PS.一个复杂的工厂逻辑就是循环使用产品对象

热点排行