🍧 抽象工厂模式

吞佛童子2022年6月20日
  • 设计模式
  • 创建型
  • 抽象工厂模式
大约 2 分钟

🍧 抽象工厂模式

1. 概述

1) 是什么

  • 一个工厂可以生产一种类型的多种具体产品
  • 当增加一种类型时,例如增加 "中配版",需要
    • 增加中配版的 Car & Plane 产品类
    • 增加中配版的工厂,实现 getCar() & getPlane()
  • 当增加一种产品时,例如增加 "Ship",需要增加
    • 增加 高配 & 低配 Ship 产品类
    • 增加 抽象工厂getShip() 方法
    • 增加高配 & 低配工厂的 getShip() 方法

2) 优点

  • 符合单一职责,一个类或方法只负责一件事。
  • 符合开闭原则,对扩展开放,对修改关闭。

3) 缺点

  • 当增加产品时,需要修改抽象方法
  • 增加产品 | 类型,都会增加很多类

2. 代码示例

1) 场景 & 目标

  • 一个工厂,生产 1 种类型的产品,要么是高配版,要么是低配版
  • 每种类型,均有 汽车 & 飞机 多种具体产品

2) 代码示例


3. 应用

上次编辑于: 2022/6/20 下午8:24:47
贡献者: liuxianzhishou