1. 模式结构
2. 角色
(1) Builder(抽象建造者)
(2) ConcreteBuilder(具体建造者)
(3) Product(产品角色)
(4) Director(指挥者)
3. 特点
将部件和其组装过程分开,一步一步创建一个复杂对象
用户只需要指定复杂的对象的类型就可以得到该对象,而无须知道其内部的具体构造细节
4. 变种
(1) 省略抽象建造者角色
如果系统中只需要一个具体建造者的话,可以省略抽象建造者
(2) 省略指挥者角色
如果抽象建造者已经被省略,那么指挥者角色也可以省略,让Builder角色扮演指挥者与建造者双重角色。
5. 应用
JavaMail