第二篇 设计模式--工厂方法模式
2015-01-30 11:20
134 查看
定义:工厂模式是我们软件设计最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。
好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性和更少的修改量
代码:
扩展:上面的工厂和产品都使用了“接口+实现类”的方式来实现,也可以使用“抽象类+派生类”来实现。
区别:将产品判断逻辑放到场景类中,解决某个产品的生产可能依赖其他产品。
好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性和更少的修改量
代码:
package factorymodel.factorymethord; /** * * * @author naivor 工厂方法模式_场景类 */ public class FactoryMethord { public static void main(String[] args) { Product1Factory factory = new Product1Factory(); //通过改变产品工厂类型,生产不同的产品 Product product = factory.createProduct(); product.doSomething(); } } /** * * @author naivor 工厂方法模式_工厂接口 */ interface Factory { Product createProduct(); } /** * * @author naivor 工厂方法模式_产品1工厂 */ class Product1Factory implements Factory { public Product createProduct() { return new Product1(); } } /** * * @author naivor 工厂方法模式_产品2工厂 */ class Product2Factory implements Factory { public Product createProduct() { return new Product2(); } } /** * * @author naivor 工厂方法模式_产品3工厂 */ class Product3Factory implements Factory { public Product createProduct() { return new Product3(); } } /** * * @author naivor 工厂方法模式_产品接口 */ interface Product { void doSomething(); } /** * * @author naivor 工厂方法模式_产品1类 */ class Product1 implements Product { public void doSomething() { // Product1的业务逻辑 } } /** * * @author naivor 工厂方法模式_产品2类 */ class Product2 implements Product { public void doSomething() { // Product2的业务逻辑 } } /** * * @author naivor 工厂方法模式_产品3类 */ class Product3 implements Product { public void doSomething() { // Product3的业务逻辑 } }
扩展:上面的工厂和产品都使用了“接口+实现类”的方式来实现,也可以使用“抽象类+派生类”来实现。
区别:将产品判断逻辑放到场景类中,解决某个产品的生产可能依赖其他产品。
相关文章推荐
- 设计模式第二篇 工厂模式(2) 工厂方法模式 factory method
- 第二篇、创建型设计模式——工厂方法模式
- Dot Net设计模式—工厂方法模式
- 设计模式——工厂方法模式(Factory Method)
- 学习设计模式之旅之 工厂方法模式 推荐
- 我读设计模式之工厂方法模式
- AspectJ实现设计模式(三)——工厂方法模式
- 《星际争霸》与设计模式(2)——工厂方法模式
- 设计模式(Design Patterns)--工厂方法模式(Factory Method)
- .NET设计模式---工厂方法模式
- 设计模式学习-工厂方法模式
- 设计模式C#描述——工厂方法模式
- .NET设计模式-工厂方法模式
- 设计模式C#描述——工厂方法模式 mutou23 [原作]
- C#设计模式之工厂方法模式(游泳成绩排名例子)
- .NET设计模式之工厂方法模式
- 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
- .Net设计模式学习笔记(五):工厂方法模式(Factory Method)
- 设计模式C#描述——工厂方法模式
- 设计模式学习--工厂方法模式