| 单产品 | Factory Method(一个创建点) |
|---|---|
| 产品族 | Abstract Factory(一组配套创建点) |
| 信号 | 配套约束:选 A 主题必须同时选 A 的附件 |
判断问题
判断问题
Q1: 需要创建多种「相关」产品且必须配套吗?
否 → 工厂方法 / 静态工厂
是 → 抽象工厂
Q2: 产品种类还会持续增加吗?
是 → 评估接口拆分粒度与演进成本工厂方法创建单一产品;抽象工厂创建相互关联的一族产品:当出现「同一主题的多个产品必须配套」时再升抽象工厂,否则单产品工厂足够。
| 单产品 | Factory Method(一个创建点) |
|---|---|
| 产品族 | Abstract Factory(一组配套创建点) |
| 信号 | 配套约束:选 A 主题必须同时选 A 的附件 |
Q1: 需要创建多种「相关」产品且必须配套吗?
否 → 工厂方法 / 静态工厂
是 → 抽象工厂
Q2: 产品种类还会持续增加吗?
是 → 评估接口拆分粒度与演进成本