抽象工厂模式
来源:互联网 发布:重生之娱乐网络帝国 编辑:程序博客网 时间:2024/06/03 08:14
抽象工厂模式总结
首先,我们先来了解一下产品等级结构和产品族的概念。
产品等级结构:产品等级结构即产品的继承结构。例如,一个抽象类是电视机,其子类有小米电视机,乐视电视机,海尔电视机等等,则这些子类电视机与其抽象类构成了一个产品等级结构。
产品族:抽象工厂模式下,产品族指由同一个产品工厂生产,位于不同产品等级结构的一组产品。例如,海尔电器工厂生产海尔洗衣机,海尔电视机,海尔电冰箱,则海尔电器工厂就扮演产品族的角色。其生产的产品位于不同的产品等级结构中。
1、意图
工厂方法模式中,主要是针对产品等级结构,这样在生产一个新产品时,就要在系统中增加大量的工厂类。抽象工厂模式则针对产品族,减少了大量工厂类的出现。
2、解决什么样的问题
解决在工厂方法模式中,每个工厂只生产一类产品,造成系统中存在大量的工厂类。
3、如何解决问题
提供一个创建一系列相关或相互以来对象的接口,无须指定他们具体的类。实现针对产品族编程,减少系统中大量的工厂类。
4、结构图
5、关键代码
抽象工厂接口:
//抽象工厂public abstractFactory(){ public AbstractProductA createProductA(); public AbstractProductB createProductB();}
具体工厂:
//具体工厂1class ConcreateFactory1 extends AbstractFactory{ public AbstractProductA createProductA(){ return new ConcreteProductA1(); } public AbstractProductB createProductB(){ return new ConcreteProductB1(); }}
//具体工厂2class ConcreateFactory2 extends AbstractFactory{ public AbstractProductA createProductA(){ return new ConcreteProductA2(); } public AbstractProductB createProductB(){ return new ConcreteProductB2(); }}
6、适用场景
系统中有多于一个的产品族,而每次只使用其中一个产品族。
抽象工厂模式的优缺点
优:1、隔离了具体类的生成,使客户不需要知道什么被创建。
2、增加新的产品族很方便,无须更改已有系统,符合开闭原则。
缺:增加新的产品等级结构麻烦。
0 0
- 工厂模式 -- 抽象工厂
- 工厂模式-抽象工厂
- 工厂模式-抽象工厂
- 工厂模式/抽象工厂模式
- 工厂模式&&抽象工厂模式
- 工厂模式---抽象工厂模式
- 工厂模式&抽象工厂模式
- 工厂模式,抽象工厂模式
- 【模式】抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 工厂方法,抽象工厂模式
- 2,工厂模式--抽象工厂
- C#工厂模式-抽象工厂
- 工厂模式与抽象工厂
- 抽象工厂设计模式
- 抽象工厂模式
- 网络经济与企业管理(第一遍复习)
- 133. clone graph
- COdevs1425最长公共子串
- The following packages have been kept back:
- MATLAB卷积
- 抽象工厂模式
- 【纯干货】中国的支付清算体系是怎么玩的?
- Android中使用SharedPreferences封装的本地读取类
- Shader山下(十四)顶点片段着色器处理光照
- 马云的五新其实没有哪一个是新的
- 表达式(一)
- 学习笔记-java实现复制、移动、删除文件夹
- 后缀数组
- Tair简介