思想: 抽象類制定建造流程, 實現類實現建造流程, 再由指揮者根據建造流程/改變建造流程順序得到產品;
注意: 建造者模式不適用於建造流程差別過大的產品;
- 建造者四個角色
- Product 產品(房子)
- Builder 抽象建造者(制定產品建造流程 - "構造師")
- ConcreteBuilder 具體建造者(實現抽象建造者 - "民工")
- Director 指揮者(指揮者調度具體的建造流程/改變建造流程順序得到產品 - "施工員")
- 蓋房子案例
- 未使用建造模式(房子產品與建造流程未解耦, 需要指揮者操作具體流程)
- 使用建造者
- Java中用到的地方
- StringBuilder/StringBuffer