美文网首页
(工厂模式)产品族和产品等级

(工厂模式)产品族和产品等级

作者: 小超人爱小土豆 | 来源:发表于2018-11-02 10:36 被阅读96次

转载引用:https://blog.csdn.net/wjlsxl_whb/article/details/52934941

(1) 产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具体品牌的电视机是其子类。
(2) 产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品,如海尔电器工厂生产的海尔电视机、海尔电冰箱,海尔电视机位于电视机产品等级结构中,海尔电冰箱位于电冰箱产品等级结构中,海尔电视机、海尔电冰箱构成了一个产品族。


产品族与产品等级结构示意图

不同颜色的多个正方形、圆形和椭圆形分别构成了三个不同的产品等级结构,而相同颜色的正方形、圆形和椭圆形构成了一个产品族,每一个形状对象都位于某个产品族,并属于某个产品等级结构。图3中一共有五个产品族,分属于三个不同的产品等级结构。我们只要指明一个产品所处的产品族以及它所属的等级结构,就可以唯一确定这个产品。

当系统所提供的工厂生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构、属于不同类型的具体产品时就可以使用抽象工厂模式。抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形式。抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式需要面对多个产品等级结构,一个工厂等级结构可以负责多个不同产品等级结构中的产品对象的创建。当一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象时,抽象工厂模式比工厂方法模式更为简单、更有效率。抽象工厂模式示意图


抽象工厂模式示意图

每一个具体工厂可以生产属于一个产品族的所有产品,例如生产颜色相同的正方形、圆形和椭圆形,所生产的产品又位于不同的产品等级结构中。如果使用工厂方法模式,上图所示结构需要提供15个具体工厂,而使用抽象工厂模式只需要提供5个具体工厂,极大减少了系统中类的个数。

相关文章

  • 极简设计模式-工厂模式

    简述 工厂模式分三种类型。 设计的原则和思想 产品等级结构和产品族 简单工厂模式 - Simple Factory...

  • (工厂模式)产品族和产品等级

    转载引用:https://blog.csdn.net/wjlsxl_whb/article/details/529...

  • 万字长文手写数据库连接池,让抽象工厂不再抽象

    本文节选自《设计模式就该这样学》 1 关于产品等级结构和产品族 在讲解抽象工厂之前,我们要了解两个概念:产品等级...

  • iOS设计模式 (三) 工厂模式之抽象工厂

    工厂模式-抽象工厂 所谓的抽象工厂是指一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象。 ...

  • 设计模式小结-抽象工厂模式

    抽象工厂模式简述 在了解抽象工厂模式前,需要先理解两个概念,"产品族","产品等级结构",这两者是抽象工厂中的重要...

  • 设计模式 Day06 抽象工厂模式

    0. 什么是 产品等级结构?什么是 产品族? 产品等级结构:即产品的继承结构。 产品族:值同一个工厂生产的,位于不...

  • 抽象工厂

    先来看一下抽象工厂的类图 这里抽象工厂和工厂模式很相似,抽象工厂是产生产品族的,产品族就是一系列产品比如我们之前说...

  • 抽象工厂模式

    要点 用来生产不同产品族的全部产品(对于增加新的产品无能为力,支持增加产品族) 抽象工厂模式是工厂方法模式的升级版...

  • 抽象工厂模式

    抽象工厂模式 定义: 抽象工厂模式和工厂模式很相似,只是它利用接口或者抽象类定义了一个产品族,例如定义一个拨号产品...

  • 工厂模式--抽象工厂模式

    设计模式 1 抽象工厂模式定义 抽象工厂模式可以说是是工厂方法模式的升级版,当需要创建的产品有多个产品线(产品族)...

网友评论

      本文标题:(工厂模式)产品族和产品等级

      本文链接:https://www.haomeiwen.com/subject/cfyqxqtx.html