| 意图 | 分步构造 + 最终校验 |
|---|---|
| 收益 | 构造代码可读(链式)、对象可不可变 |
| 变体 | 流畅接口、Lombok @Builder 等工具生成 |
Java 示例
Java 示例
Pizza pizza = new Pizza.Builder(12)
.cheese(true)
.pepperoni(true)
.build();Builder 与「部分构造」对比:Builder 保证 build 前对象不可见,不会出现半成品状态外泄。
把复杂对象的构造过程与表示分离:逐步设置参数、最后 build() 产出不可变对象;适合参数多、有可选组合、需要校验的构造场景。
| 意图 | 分步构造 + 最终校验 |
|---|---|
| 收益 | 构造代码可读(链式)、对象可不可变 |
| 变体 | 流畅接口、Lombok @Builder 等工具生成 |
Pizza pizza = new Pizza.Builder(12)
.cheese(true)
.pepperoni(true)
.build();