抽象工厂模式

相较于工厂模式,我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。
比如有个海尔工厂,那么抽象工厂需要生产海尔电视机、海尔电冰箱,海尔空调等同类品牌产品。

1.模式的定义
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

2.模式结构
    抽象工厂模式包含如下角色:
        AbstractFactory:抽象工厂
        ConcreteFactory:具体工厂
        AbstractProduct:抽象产品
        Product:具体产品

3.模式适用情况

  • 一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有类型的工厂模式都是重要的。
  • 系统中有多于一个的产品族,而每次只使用其中某一产品族。
  • 属于同一个产品族的产品将在一起使用,这一约束必须在系统的设计中体现出来。
  • 系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现

优缺点
扩展产品族符合开闭原则
扩展产品等级结构违背开闭原则
产品族和产品等级

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页