设计模式读书笔记-----抽象工厂模式
在工厂方法模式中,我们使用一个工厂创建一个产品,也就是说一个具体的工厂对应一个具体
的产品。但是有时候我们需要一个工厂能够提供多个产品对象,而不是单一的对象,这个时候我们
就需要使用抽象工厂模式。
在讲解抽象工厂模式之前,我们需要厘清两个概念:
产品等级结构。产品的等级结构也就是产品的继承结构。例如一个为空调的抽象类,它有海尔
空调、格力空调、美的空调等一系列的子类,那么这个抽象类空调和他的子类就构成了一个产品等
级结构。
产品族。产品族是在抽象工厂模式中的。在抽象工厂模式中,产品族是指由同一个工厂生产的,
位于不同产品等级结构中的一组产品。比如,海尔工厂生产海尔空调。海尔冰箱,那么海尔空调则
位于空调产品族中。
产品等级结构和产品族结构示意图如下:
一、
基
本
定
义
抽象
工厂
模式
提供
一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。
抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产
品是什么。这样一来,客户就可以从具体的产品中被解耦。
二、模式结构
抽象工厂模式的 UML 结构图如下: