返回
Featured image of post 设计模式 —— 简单工厂模式

设计模式 —— 简单工厂模式

简单工厂模式

  • 别称:静态工厂方法
  • 简单工厂并不是一种模式,而是一种编程习惯。——《Head First 设计模式》
  • 代码比较简单,就不写代码的 Readme 了

1. 基础概念

  • 定义/意图:无
  • 类图:
  • 出场嘉宾
    • 产品/Product:产品,抽象类(或接口)
    • 具体产品/Concrete Product:具体产品,继承/实现 Product
    • 工厂/Creator:工厂,用于生产 Product

2. 解决什么问题?如何解决?

3. 优缺点是什么?

3.1 优点

  • 把变化集中到一块,易于管理。
  • “消费对象"不需要直接创建具体产品 (Concrete Product),把对象创建和使用分开。

3.2 缺点

  • 工厂类集中了多个其他类,违反了高内聚责任分配原则。【?!】
  • 有新的具体产品时,需要修改代码,不符合开闭原则。
  • 随着具体产品增加,判断添加回变多,维护回变难。

这些缺点在工厂方法模式中得到解决。

4. 使用场景是什么?

  • 工厂类负责创建的对象固定、较小。(变动不频繁)
  • 对创建对象的逻辑不关心。

5. 注意

  • 由于简单工厂模式容易违反高内聚责任分配原则,因此一般只在较简单的情况下应用。

6. 应用实例?

x. 疑问

y. 拓展

  • 工厂方法模式
  • 抽象工厂模式

z. 参考

  • 《Head First 设计模式》
相信美好的事情即将发生。
Built with Hugo
Theme Stack designed by Jimmy