抽象工厂(Abstractor Factory)
Abstract Factory 和 Builder 的区别:
1)主要区别是Builder模式着重于一步一步构造一个复杂对象,
而Abstract Factory着重于多个系列的产品对象(简单的或是复杂的)
2)Builder在最后一步返回产品, 而对于Abstract Factory来说,
产品是立即返回的.
意图:
提供一个创建 一系列相关或相互依赖对象的接口, 而无需指定它们具体的类。
适用性:
1)一个系统要独立于它的产品的创建、组合和表示时
2)一个系统要由多个产品系列中的一个配置时
3)当你要强调一系列相关的产品对象的设计以便进行联合使用时
4)当你提供一个产品类库,而只想显示它们的接口而不是实现时
效果:
1)它分离了具体的类
2)它使得易于交换产品系列
3)它有利于产品的一致性
4)难以支持新种类的产品
实现:
1)将工厂作为单件
2)创建产品
Abstract Factory 和 Builder 的区别:
1)主要区别是Builder模式着重于一步一步构造一个复杂对象,
而Abstract Factory着重于多个系列的产品对象(简单的或是复杂的)
2)Builder在最后一步返回产品, 而对于Abstract Factory来说,
产品是立即返回的.
意图:
提供一个创建 一系列相关或相互依赖对象的接口, 而无需指定它们具体的类。
适用性:
1)一个系统要独立于它的产品的创建、组合和表示时
2)一个系统要由多个产品系列中的一个配置时
3)当你要强调一系列相关的产品对象的设计以便进行联合使用时
4)当你提供一个产品类库,而只想显示它们的接口而不是实现时
效果:
1)它分离了具体的类
2)它使得易于交换产品系列
3)它有利于产品的一致性
4)难以支持新种类的产品
实现:
1)将工厂作为单件
2)创建产品
3)定义可扩展的工厂