常识# 工厂的好处
工厂的好处
常见的工厂模式有三个:简单工厂(Factory)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)。如果按目标分类它们都是属于创建型(Creational Pattern)
《scala编程》里提到两个工厂的优点
1. 将对象的创建集中化
好的代码的终极目标是:易维护,易扩展,易复用,易使用。但如果代码里new一个类,new得到处都是,new得五花八门那肯定是灾难。
所以要统一集中的使用一种方式,这就是所谓的易维护,易复用。
2. 隐藏对象实际代表的类的细节
这里可以理解为初始化类的细节。也就是说,使客户更容易的理解和使用。这就是易用
由于隐藏了细节,解藕的更厉害,扩展和修改时破坏代码的可能比较小。这个就是易扩展
回顾总结几个工厂模式
1. 简单工厂。就一个工厂角色。通过工厂角色的的方法,返回不同的产品。无法扩展
2. 工厂方法。分为抽象工厂角色和具体工厂角色。通过抽象工厂角色的方法,返回不同的产品。通过实现新的具体工厂角色扩展添加新的产品
3. 抽象工厂。类同工厂方法。但相比工厂方法,每个抽象工厂角色可以返回一系列或相关的产品。
附录
Factory Method Pattern | Object Oriented Design - Pentadactyl
http://www.oodesign.com/factory-method-pattern.html
Abstract Factory Pattern | Object Oriented Design - Pentadactyl
http://www.oodesign.com/abstract-factory-pattern.html
Factory Pattern | Object Oriented Design - Pentadactyl
http://www.oodesign.com/factory-pattern.html