【什么是工厂模式】工厂模式是一种常见的软件设计模式,主要用于创建对象时解耦对象的创建逻辑与使用逻辑。它通过一个专门的“工厂”类或方法来封装对象的实例化过程,从而提高代码的可维护性、灵活性和可扩展性。
一、
工厂模式的核心思想是将对象的创建过程从客户端代码中分离出来,由一个专门的工厂类负责处理。这样做的好处包括:
- 降低耦合度:客户端不需要知道具体类的实现细节。
- 提高可维护性:如果需要修改对象的创建方式,只需改动工厂部分,无需修改所有使用该对象的地方。
- 增强灵活性:可以方便地添加新的产品类型,而不会影响现有代码。
工厂模式主要分为三种类型:
1. 简单工厂模式:由一个工厂类根据传入的参数决定创建哪一种产品。
2. 工厂方法模式:定义一个创建对象的接口,但由子类决定实例化哪一个类。
3. 抽象工厂模式:提供一个创建一系列相关或依赖对象的接口,而不需要指定它们具体的类。
二、表格对比
| 模式名称 | 核心概念 | 特点 | 适用场景 |
| 简单工厂模式 | 一个工厂类,根据参数返回不同产品 | 实现简单,但不满足开闭原则(不能轻易扩展) | 对象种类较少,需求稳定 |
| 工厂方法模式 | 定义创建对象的接口,由子类实现 | 符合开闭原则,易于扩展,但需要额外的子类 | 需要动态决定创建哪种对象 |
| 抽象工厂模式 | 提供一个创建一组相关对象的接口 | 可以创建多个相关对象,适合复杂系统中的对象组合 | 多个产品族,需要统一管理对象创建 |
三、应用场景举例
- 简单工厂:如数据库连接器,根据配置选择 MySQL 或 Oracle 连接。
- 工厂方法:如不同的支付方式(支付宝、微信、银联),每个支付方式都有自己的工厂。
- 抽象工厂:如电脑配件供应商,根据用户需求组装不同的硬件组合。
四、小结
工厂模式是一种非常实用的设计模式,尤其在面对多种产品类型或需要灵活创建对象的场景中。通过合理使用工厂模式,可以有效提升代码的结构清晰度和可维护性,同时减少因对象创建带来的耦合问题。


