Abstract Factory(抽象工厂)---对象创建型模式

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

客户仅与抽象类定义的接口交互,而不使用特定的具体类的接口。

当你要强调一系列相关的产品对象的设计以便进行联合使用时。

当你提供一个产品类库,而只想显示它们的接口而不是实现时。

这一具体的工厂创建具有特定实现的产品对象。为创建不同的产品对象,客户应使用不同的具体工厂。

AbstractFactory讲产品对象的创建延迟到它的具体Factory子类。

Abstract Factory模式帮助你控制一个应用创建的对象的类。因为一个工厂封装创建产品对象的责任和过程,它将客户与类的实现分离。客户通过它们的抽象接口操作实例。

产品的类名也在具体工厂的实现中被分离;它们不出现在客户代码中。

难以扩展抽象工厂以生产新种类的产品。这是因为AbstractFactory接口确定了可以被创建的产品集合。支持新种类的产品就需要扩展该工厂接口,这就涉及AbstractFactory类及其所有子类的改变。

工厂通常最好实现一个Singleton。

猜你喜欢

转载自linshiquan.iteye.com/blog/1025886