工厂方法模式(Factory Method)
2015-03-08 18:30
183 查看
工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic
Factory)模式。
工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
工厂方法模式的结构:
抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用程序无关的。任何在模式中创建对象的工厂类必须实现这个接口。在上面的系统中,这个角色由java接口“抽象工厂”扮演;在实际的系统中,这个角色也常常使用抽象java类实现。
具体工厂角色:担任这个角色的是实现了抽象工厂接口的具体java类。具体工厂角色含有与应用密切相关的逻辑,并且受到应用程序的调用以创建产品对象。在本系统中给出了三个这样的角色,也就是具体java类。
抽象产品角色:工厂方法模式所创建的对象的超类型,也就是产品对象共同父类或共同拥有的接口。在本系统中,这个角色由java接口抽项产品扮演;在实际的系统中,这个角色也常常使用抽象java类实现。
具体产品角色:这个角色实现了抽象产品所声明的接口。工厂方法模式所创建的每一个对象都是某个具体产品角色的实例。
例如:
抽象工厂类是工厂方法模式的核心,但是它并不掌握水果类或蔬菜类的生杀大权。相反地,这项权利被交给子类,即AppleGardener StawberryGardener以及GrapeGardener。
代码清单:
抽象产品类
具体产品角色(苹果)
具体产品角色(葡萄)
具体产品角色(草莓)
抽象工厂类
具体工厂类(苹果)
具体工厂类(葡萄)
具体工厂类(草莓)
工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic
Factory)模式。
工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
工厂方法模式的结构:
抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用程序无关的。任何在模式中创建对象的工厂类必须实现这个接口。在上面的系统中,这个角色由java接口“抽象工厂”扮演;在实际的系统中,这个角色也常常使用抽象java类实现。
具体工厂角色:担任这个角色的是实现了抽象工厂接口的具体java类。具体工厂角色含有与应用密切相关的逻辑,并且受到应用程序的调用以创建产品对象。在本系统中给出了三个这样的角色,也就是具体java类。
抽象产品角色:工厂方法模式所创建的对象的超类型,也就是产品对象共同父类或共同拥有的接口。在本系统中,这个角色由java接口抽项产品扮演;在实际的系统中,这个角色也常常使用抽象java类实现。
具体产品角色:这个角色实现了抽象产品所声明的接口。工厂方法模式所创建的每一个对象都是某个具体产品角色的实例。
例如:
抽象工厂类是工厂方法模式的核心,但是它并不掌握水果类或蔬菜类的生杀大权。相反地,这项权利被交给子类,即AppleGardener StawberryGardener以及GrapeGardener。
代码清单:
抽象产品类
具体产品角色(苹果)
具体产品角色(葡萄)
具体产品角色(草莓)
抽象工厂类
具体工厂类(苹果)
具体工厂类(葡萄)
具体工厂类(草莓)
相关文章推荐
- 工厂方法模式(Factory Method)(一)
- 工厂方法模式(Factory Method)-最易懂的设计模式解析
- .NET设计模式(5):工厂方法模式(Factory Method)(转)
- 创建型模式之抽象工厂模式(Abstract Factory)- 工厂方法模式(Factory Method)
- 工厂方法模式(Factory Method)
- 工厂方法模式(Factory Method)
- 第5讲:Factory Method 工厂方法模式
- 设计模式(3)の创建型の工厂方法模式(Factory Method)の静态工厂方法模式
- Java设计模式 —— 工厂方法模式 (Factory Method)
- (创建型模式)Factory Method——工厂方法模式
- Android开发 设计模式(二、 Factory Method(工厂方法模式))
- 设计模式 - 工厂方法模式(Factory Method)
- 设计模式之工厂方法模式(Factory Method)摘录
- C++设计模式之工厂方法模式(Factory Method)
- 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
- 简单工厂模式(Simple Factory)和工厂方法模式(Factory Method)和AbstractFactory ( 抽象工厂 )
- 设计模式学习(创建型模式)—工厂方法模式(Factory Method)
- 设计模式学习笔记二:工厂方法模式(Factory Method)
- 工厂方法模式(Factory Method)
- 温习C#设计模式之(二) 工厂方法模式(Factory Method)