创建型模式
本章为概览。深入讲解见 设计模式专题。
核心要点
创建型模式解决的是 对象怎么来 的问题——把对象的创建和使用分离。
| 模式 | 一句话 | 适用场景 |
|---|---|---|
| 工厂方法 | 让子类决定创建什么对象 | 不确定具体类型,需要扩展 |
| 抽象工厂 | 创建一族相关对象 | 多产品族(如跨平台 UI) |
| 单例 | 全局唯一实例 | 配置中心、连接池、缓存 |
| 建造者 | 分步构建复杂对象 | 参数多、有构建顺序的对象 |
| 原型 | 克隆已有对象 | 创建成本高、需要复制 |
Spring 中的体现
- 工厂方法 →
BeanFactory、FactoryBean - 单例 → Spring Bean 默认 Scope
- 建造者 →
BeanDefinitionBuilder、UriComponentsBuilder - 原型 →
@Scope("prototype")
选型决策
txt
需要创建对象
├─ 对象简单,直接 new
├─ 需要解耦具体类 → 工厂方法
├─ 有多产品族 → 抽象工厂
├─ 参数多且可选 → 建造者
├─ 需要全局唯一 → 单例
└─ 创建成本高需复制 → 原型