【工厂模式分为哪三种类型】在面向对象编程中,工厂模式是一种常见的设计模式,用于封装对象的创建过程,使得系统更加灵活、可维护。工厂模式根据实现方式的不同,主要可以分为以下三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。
一、简单工厂模式(Simple Factory)
简单工厂模式通过一个工厂类来创建不同的产品对象。它将对象的创建逻辑集中到一个类中,客户端只需知道产品的类型即可,不需要关心具体的实例化过程。
特点:
- 只有一个工厂类
- 不符合开闭原则(增加新产品需要修改工厂类)
- 适用于产品种类较少的情况
二、工厂方法模式(Factory Method)
工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪一个类。工厂方法模式让类的实例化推迟到子类中进行。
特点:
- 每个产品都有一个对应的工厂类
- 符合开闭原则(增加新产品只需扩展工厂类)
- 更加灵活,适合产品结构复杂的情况
三、抽象工厂模式(Abstract Factory)
抽象工厂模式提供一个创建一系列相关或依赖对象的接口,而无需指定它们具体的类。它关注的是“产品族”的创建,而不是单一产品。
特点:
- 创建多个相关产品对象
- 强调产品之间的关联性
- 提高系统的整体一致性
- 常用于跨平台应用、UI组件等场景
三类工厂模式对比表:
| 模式名称 | 是否有工厂接口 | 是否支持扩展 | 是否关注产品族 | 适用场景 |
| 简单工厂模式 | 否 | 否 | 否 | 产品种类少,逻辑简单 |
| 工厂方法模式 | 是 | 是 | 否 | 产品种类多,需灵活扩展 |
| 抽象工厂模式 | 是 | 是 | 是 | 需要创建一组相关产品 |
通过合理选择工厂模式,可以有效提升代码的可维护性和扩展性,是构建高质量软件系统的重要手段之一。


