一、简单工厂模式介绍
1、简单工厂模式属于创建型设计模式;
2、核心思想:
通过一个工厂类来负责创建同一类型的不同具体对象,将对象的创建逻辑与对象的使用逻辑分离。
3、本质:
使用工厂类,根据传入工厂类的参数,动态决定创建哪个具体类的实例;
使用者无需关心对象的创建细节,只需通过工厂获取所需对象。
二、简单工厂模式的使用示例
这里以简单的实现计算器功能做演示
三、优缺点与使用场景
1、优点
(1) 有利于解耦:
将对象的创建与使用的逻辑分离;
使用者无需知道对象创建细节,只需调用工厂(类)进行创建对象;
(2)扩展性较好,结构简单:
新增产品时,只需修改工厂类;
需要创建的对象类型较少,且创建逻辑不复杂,易于实现,适合简单场景;
2、缺点
(1)职责集中,违反开闭原则
单一工厂类负责所有产品的创建,所有创建逻辑集中在工厂类,新增产品时需修改工厂类代码;
可能导致工厂类臃肿;若产品类型过多,工厂类难以维护。
(2)灵活性受限:
无法动态修改对象的创建逻辑(需修改代码)。
3、使用场景
(1)需要创建的对象类型较少,且创建逻辑不复杂。
(2)低频率变更场景,当产品类型不常新增或修改时。
(3)满足初步解耦需求,适合项目初期快速实现对象创建逻辑的解耦。