🍧 抽象工厂模式
2022年6月20日
- 设计模式
🍧 抽象工厂模式
1. 概述
1) 是什么
- 一个工厂可以生产一种类型的多种具体产品
- 当增加一种类型时,例如增加 "中配版",需要
- 增加中配版的 Car & Plane 产品类
- 增加中配版的工厂,实现
getCar()
&getPlane()
- 当增加一种产品时,例如增加 "Ship",需要增加
- 增加 高配 & 低配 Ship 产品类
- 增加 抽象工厂 的
getShip()
方法 - 增加高配 & 低配工厂的
getShip()
方法
2) 优点
- 符合单一职责,一个类或方法只负责一件事。
- 符合开闭原则,对扩展开放,对修改关闭。
3) 缺点
- 当增加产品时,需要修改抽象方法
- 增加产品 | 类型,都会增加很多类
2. 代码示例
1) 场景 & 目标
- 一个工厂,生产 1 种类型的产品,要么是高配版,要么是低配版
- 每种类型,均有 汽车 & 飞机 多种具体产品