设计模式之Factory Method
2009-10-21 15:52
267 查看
Factory Method属于创建型模式,要灵活运用它,首先要理解其各部分的概念:
Product
定义了由factory method所创建对象的统一接口。
ConcreteProduct
具体的类,实现Product接口。
Creator
一般为抽象类,声明若干factory
method(方法),由它创建类型为Product的对象。正因为它能"生产"对象,所以称为factory
method。Creator也可能拥有一个方法创建某个缺省的具体对象。
ConcreteCreator
重载factory method以创建某个 ConcreteProduct 的具体实例。
也就是说Creator依赖于ConcreteCreator创建Product型的ConcreteProduct对象。
Factory
method使应用程序代码只需处理Product接口,而与具体的类(ConcreteProduct)无关,增强了代码可重用性,因为它独立于用户定义的具体的类。
Pattern 要点:
Factory Method一个很大的特点是将将实例的创建与适用分开来操作, 好比制造汽车, 将制造过程留在工厂里,最后出来的只是一辆成型的汽车。 2009-12-04
这里很多地方用到了面向接口编程的思想,Sample mysample=new MySample();想这种就是将Sample定义成一个abstract类或接口,具体实现有MySample来实现,值得注意的是,这里MySample只是实现了Sample中定义的方法,并没有添加新的内容。2009-12-04
Factory Method适用的情况:
对象构造函数比较多,比较复杂的时候。比如Sample a = new Sample(xxxxx),如果这里面的参数比较复杂,说明这个类设计的也比较复杂,相当于把饺子都放在一个锅里了,这个时候如果考虑用factory method可以降低复杂度,后期如果需要alter或update就会比较容易。2009-12-04
Product
定义了由factory method所创建对象的统一接口。
ConcreteProduct
具体的类,实现Product接口。
Creator
一般为抽象类,声明若干factory
method(方法),由它创建类型为Product的对象。正因为它能"生产"对象,所以称为factory
method。Creator也可能拥有一个方法创建某个缺省的具体对象。
ConcreteCreator
重载factory method以创建某个 ConcreteProduct 的具体实例。
也就是说Creator依赖于ConcreteCreator创建Product型的ConcreteProduct对象。
Factory
method使应用程序代码只需处理Product接口,而与具体的类(ConcreteProduct)无关,增强了代码可重用性,因为它独立于用户定义的具体的类。
Pattern 要点:
Factory Method一个很大的特点是将将实例的创建与适用分开来操作, 好比制造汽车, 将制造过程留在工厂里,最后出来的只是一辆成型的汽车。 2009-12-04
这里很多地方用到了面向接口编程的思想,Sample mysample=new MySample();想这种就是将Sample定义成一个abstract类或接口,具体实现有MySample来实现,值得注意的是,这里MySample只是实现了Sample中定义的方法,并没有添加新的内容。2009-12-04
Factory Method适用的情况:
对象构造函数比较多,比较复杂的时候。比如Sample a = new Sample(xxxxx),如果这里面的参数比较复杂,说明这个类设计的也比较复杂,相当于把饺子都放在一个锅里了,这个时候如果考虑用factory method可以降低复杂度,后期如果需要alter或update就会比较容易。2009-12-04
相关文章推荐
- 【设计模式攻略】创建型模式之Factory method模式
- 23种设计模式之-----工厂方法模式(Method Factory pattern)
- 结合Android学设计模式--工厂方法(FactoryMethod)
- 设计模式 工厂方法(Factory Method Pattern)转载
- 浅谈JAVA设计模式之——工厂方法(FactoryMethod)
- 设计模型之创建型模式之工厂方法模式(Factory Method)
- 【设计模式】——工厂方法FactoryMethod
- java设计模式之一工厂模式(Factory Method)
- java设计模式之一工厂模式(Factory Method)
- java设计模式之一工厂模式(Factory Method)
- .NET设计模式(5):工厂方法模式(Factory Method)
- 设计模式第二篇 工厂模式(2) 工厂方法模式 factory method
- 设计模式之 - 工厂方法模式 (Factory Method design pattern)
- 23种设计模式-4.工厂方法模式(Factory Method)
- 在 Java 中应用设计模式 - Factory Method
- C#工厂设计模式(Factory Method)
- 设计模式之一---工厂方法模式【Factory Method模式】 (java版)
- 设计模式笔记-创建型模式之三--工厂方法:Factory Method
- 设计模式 (二)工厂方法模式(FactoryMethod)
- 设计模式之工厂方法模式(Factory Method)