一、先明确两个模式的核心定义
| 模式类型 |
核心定义 |
| 简单工厂模式 |
用一个工厂类封装所有产品的创建逻辑,通过参数(如字符串 / 枚举)决定创建哪种产品 |
| 工厂方法模式 |
定义抽象工厂接口,将产品创建逻辑分散到多个具体工厂类中(一个工厂对应一个产品) |
二、核心结构对比(可视化)
1. 简单工厂模式结构
classDiagram
class SimpleFactory {
+CreateProduct(type: string): IProduct
}
interface IProduct {
+Use()
}
class ProductA {
+Use()
}
class ProductB {
+Use()
}
SimpleFactory --> IProduct
ProductA --|> IProduct
ProductB --|> IProduct
- 核心:一个工厂类 + 多个产品类,工厂类集中处理所有创建逻辑。
2. 工厂方法模式结构
classDiagram
interface IFactory {
+CreateProduct(): IProduct
}
class FactoryA {