设计模式 | 简单工厂模式

204 阅读2分钟

一、简单工厂模式概述

简单工厂模式(Simple Factory Pattern)又称作静态工厂方法模式(Static Factory Method Pattern),是一种创建型设计模式。在简单工厂模式中,可以根据参数的不同,返回不同类型的实例。简单工厂模式专门定义了一个类来创建其它类的实例,被创建的实例通常具体共同的父类。

二、简单工厂模式的UML类图

image-20220708081110388

简单工厂模式主要包含3种角色:

(1)简单工厂角色(SimpleFactory):负责实现创建所有实例的内部逻辑。 (2)抽象产品角色(Product):简单工厂模式所创建的所有对象的共同父类,负责描述所有实例所共有的公共接口。 (3)具体产品角色(ConcreteProduct):简单工厂模式的创建目标。

三、简单工厂模式的适用场景

在以下情况下可以使用简单工厂模式:

  • 工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂;
  • 客户端只知道传入工厂类的参数,不关心如何创建对象:客户端不需要关心创建细节,只需要知道类型所对应的参数即可。

四、简单工厂模式的优缺点

优点:

简单工厂模式的结构简单,调用方便。对于外界给定的信息,可以很方便地创建出对应的产品。工厂和产品的职责区分明确。

缺点:

简单工厂模式的工厂类负责所有产品的创建,当产品基数增多时,工厂类代码会非常臃肿,违背高聚合原则。

五、代码实现

略!