设计模式是指在软件开发中常见的充分体现设计思想和原则的实践经验。而简单工厂模式,是一个比较常用的设计模式之一,在不同的应用场景下有着广泛的应用。本篇文章将从多个角度分析简单工厂模式,包括其定义、特点、优点、缺点以及适用场景等方面来详细介绍。
一、定义
简单工厂模式,也称为静态工厂方法(Static Factory Pattern),是由一个工厂对象根据传入的参数决定创建出哪一种产品类的实例。其主要作用就是企业级开发中可以根据业务需求动态地创建某个具体产品的实例。另外,简单工厂模式属于创建型模式,其主要用途是对对象的创建进行集中控制。
二、特点
1. 实例由工厂类创建,而不是由客户端创建
2. 把创建实例对象的工作转移到了工厂类中
3. 客户端只能访问工厂类中提供的接口方法
三、优点
1. 减轻了客户端的职责,将创建对象的职责归属到工厂,提高了系统的可维护性和可扩展性
2. 客户端无需知道实例的创建过程,仅需了解产品类的接口即可
3. 遵循了 “开放-封闭” 原则,即对扩展开放,对修改封闭,可以使系统在不修改客户端的情况下扩展新的功能
四、缺点
1. 违反了 “单一职责” 原则,将复杂的逻辑和判断全都交给工厂实现
2. 工厂的职责过重,一旦系统中有了过多不同类型的产品,简单工厂的核心类会变得很庞大,难以管理和维护
3. 由于使用了静态工厂方法,扩展功能需要修改定义在工厂中的判断逻辑,引起了代码的修改,增加了代码的维护成本。
五、适用场景
1. 客户端不需要知道实例的创建过程
2. 抽象类或接口只有一个或很少的几个实现类
3. 客户端只需知道参数和返回值的规则,不需要知道具体的实例化过程
4. 系统有很多相似的类需要创建,只需使用一个类创建对象即可
扫码咨询 领取资料