思想: 抽象类制定建造流程, 实现类实现建造流程, 再由指挥者根据建造流程/改变建造流程顺序得到产品;
注意: 建造者模式不适用于建造流程差别过大的产品;
- 建造者四个角色
- Product 产品(房子)
- Builder 抽象建造者(制定产品建造流程 - "构造师")
- ConcreteBuilder 具体建造者(实现抽象建造者 - "民工")
- Director 指挥者(指挥者调度具体的建造流程/改变建造流程顺序得到产品 - "施工员")
- 盖房子案例
- 未使用建造模式(房子产品与建造流程未解耦, 需要指挥者操作具体流程)
- 使用建造者
- Java中用到的地方
- StringBuilder/StringBuffer