简单工厂模式(Simple Factory Pattern)

一、概念

简单工厂模式也叫静态工厂模式,是指由 一个工厂 决定创建哪一种产品类的实例,但它不属于GoF的23种设计模式。简单工厂模式适用于工厂类负责创建的对象较少的场景。(不属于标准的设计模式)

  • 该工厂类一般是使用静态方法,根据我们传参的不同,返回不同的派生自同一个父类 或 实现同一接口的实例对象。

二、参与者

抽象产品:工厂创建的具体对象的父类或者共同接口

具体产品:是抽象产品的具体实现

产品工厂类:负责所有对象实例的内部逻辑

调用者

三、代码例子

BMW工厂  生产 BMW320和BMW520

抽象产品:BMW

具体产品:BMW320  和  BMW520

产品工厂类:SimpleFactory

四、UML图

五、优缺点

(一)优点:

  1. 代码编写简单
  2. 工厂都具有的优点:通过工厂创建对象,不关心对象实例化的具体逻辑

(二)缺点:

  1. 多个产品的创建逻辑耦合在一起,不符合单一职责原则,一旦工厂出现问题,整个系统都要受到影响。
  2. 系统扩展困难,一旦添加新产品就得修改工厂逻辑,违反了“开闭原则”
posted @ 2022-11-29 21:43  ImreW  阅读(11)  评论(0编辑  收藏  举报