定义
建造者模式定义:
将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示
既保证流程不变, 每个流程实现的具体细节可以变化, 比如:建造楼房, 先打桩,在搭架子....
在程序中对应的是: 抽离出对象的组成部分以及他们的装配方式
模式机构
Build: 抽象类,创建Product对象的各个部件指定的抽象接口
ConcreteBuild: 具体建造者,构造和装配各个部件
Product: 具体产品
Dierctou:指挥者,构建一个使用Build类的对象
代码实现
场景: 建造楼房
场景分析: 建造顺序是,打桩, 搭架子
特点及使用场景
优点:建造者隐藏了该对象是如何组装的,所以需要改变一个产品的的内部表示,只需要在定义一个新的具体的建造者就可以了
使用场景:创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化