首页/开发/代码质量与评审速查/建造者 Builder(创建型)
设计原则与模式62 条

建造者 Builder(创建型)

把复杂对象的构造过程与表示分离:逐步设置参数、最后 build() 产出不可变对象;适合参数多、有可选组合、需要校验的构造场景。

意图分步构造 + 最终校验
收益构造代码可读(链式)、对象可不可变
变体流畅接口、Lombok @Builder 等工具生成

Java 示例

Java 示例
Pizza pizza = new Pizza.Builder(12)
    .cheese(true)
    .pepperoni(true)
    .build();
Builder 与「部分构造」对比:Builder 保证 build 前对象不可见,不会出现半成品状态外泄。

易错点

  • 每个字段都配 Builder:简单对象成本翻倍
  • build() 不做校验:非法组合照常产出

数据来源与参考

  • 《设计模式》(GoF)· Builder
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌