创建型设计模式之工厂方法模式FactoryMethod

时间:2022-10-02 19:12:10

2工厂方法模式<代码/DesignPattern20140912/src/FactoryMethod>

意图:定义一个创建产品对象的工厂接口,将实际创建工作推迟到工厂子类中,工厂方法模式可以容许多个实的工厂类,以每一个工厂类负责每一个产品类等级.系统有多个产品类等级可以描述所有已有的产品类;

 

定义图:

创建型设计模式之工厂方法模式FactoryMethod

平行等级结构,工厂 <==> 产品


应用实例图:

创建型设计模式之工厂方法模式FactoryMethod

创建型设计模式之工厂方法模式FactoryMethod


参与者:

抽象产品(Product是工厂方法模式所创立的对象的父类,或它们共同拥有的接口)

具体产品(ConcreteProduct,实现Product接口) 

抽象工厂(Creator:1声明工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,返回一个缺省的ConcreteProduct对象 2 可以调用工厂方法以创建一个Produc对象)

具体工厂类 (ConreteCreator:重定义工厂方法以返回一个ConcreteProduc对象)


注:

1 参考书籍:Java与模式

2 参考:http://lavasoft.blog.51cto.com/62575/11458/