【设计模式】抽象工厂模式

抽象工厂模式

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

结构图

【设计模式】抽象工厂模式_第1张图片

优点

       易于交换产品系列,由于具体工厂类,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可食用不同产品配置。
       让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操作实例,产品的具体类名也被具体工厂的实现分离,不会出现在客户代码中。

1.它分离了具体的类

2.它使得易于交换产品系列

3.它有利于产品的一致性

缺点

       难以支持新种类的产品。

使用情况

       1.系统不依赖于产品类实例如何被创建,组合和表达的细节。
       2.系统的产品有多于一个的产品族,而系统只消费其中某一族的产品
       3.同属于同一个产品族是在一起使用的。这一约束必须在系统的设计中体现出来。
       4.系统提供一个产品类的库,所有产品以同样的接口出现,从而使客户端不依赖于实现。

你可能感兴趣的:(设计模式,抽象工厂模式,工厂,factory,Absrtact)