一、简单工厂模式概述
简单工厂模式(Simple Factory Pattern)又称作静态工厂方法模式(Static Factory Method Pattern),是一种创建型设计模式。在简单工厂模式中,可以根据参数的不同,返回不同类型的实例。简单工厂模式专门定义了一个类来创建其它类的实例,被创建的实例通常具体共同的父类。
二、简单工厂模式的UML类图
简单工厂模式主要包含3种角色:
(1)简单工厂角色(SimpleFactory):负责实现创建所有实例的内部逻辑。 (2)抽象产品角色(Product):简单工厂模式所创建的所有对象的共同父类,负责描述所有实例所共有的公共接口。 (3)具体产品角色(ConcreteProduct):简单工厂模式的创建目标。
三、简单工厂模式的适用场景
在以下情况下可以使用简单工厂模式:
- 工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂;
- 客户端只知道传入工厂类的参数,不关心如何创建对象:客户端不需要关心创建细节,只需要知道类型所对应的参数即可。
四、简单工厂模式的优缺点
优点:
简单工厂模式的结构简单,调用方便。对于外界给定的信息,可以很方便地创建出对应的产品。工厂和产品的职责区分明确。
缺点:
简单工厂模式的工厂类负责所有产品的创建,当产品基数增多时,工厂类代码会非常臃肿,违背高聚合原则。
五、代码实现
略!