前言
在之前我们已经讲述了工厂模式
的一些文章,大家感兴趣的话,可以参考以下文章
工厂模式(一)—工厂模式简介
工厂模式(二)—简单工厂
工厂模式(三)—简单工厂优化(静态调用)
今天就让我们来学习下工厂模式之抽象工厂
今天涉及内容:
-
抽象工厂
定义 - 为什么要使用
抽象工厂
-
抽象工厂
实现步骤 -
抽象工厂
利弊解读
一. 抽象工厂 定义
先给出比较书面化的定义:
抽象工厂模式:提供一个接口,用于创建相关对象或依赖对象的家族,而不需要明确指定具体类。通过依赖注入来降低耦合。
不得不说,这种描述真的很官方,不好理解。就是当你的对象体系已经不限于类
,而出现系
的概念的时候,抽象工厂便是定义系
级别对象的创建。
二. 为什么要使用 抽象工厂
简单的来说,简单工厂
模式解决的是个与个的问题,结构不太复杂,当对像需要分类创建,即对象结构变成两级:个—>类
的时候,我们需要采用工厂方法模式
。ok,当你的对象系统更加复杂了,变成三级:个—>类—>系
的时候,工厂方法模式
已经无法满足系统了,这时候,你不得不采用抽象工厂模式
来重构你的对象创建流程。
三. 抽象工厂 实现步骤
3.1 场景
这里为了后续描述,我们需要一个更为复杂的场景。以军队编制为例,之前的文章均是建立在一个类别上:车。现在我们要建立不同的战斗编队,每个编队中都包含两个类别:车
和船
。且车的型号有多种,船的型号有多种,车船可以任意型号组合成一支编队。
3.2 具体实现
还是建立在以前的基础上来讲述。首先车具备的功能为:
网友评论