1. 意图
将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.
2. 适用场景
- 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时.
- 当构建过程必须允许被构造的对象有不同的表示时.
3. 实现
3.1. 参与者
- Director 导向器
构造一个使用 Builder 接口的对象 - Builder
为创建一个 Product 对象的各个不见指定抽象接口 - ConcreteBuilder
实现 Builder 的接口已构造和装配该产品的各个部件
定义并明确它所创建的表示
提供一个检索产品的接口 - Product
表示被构造的复杂对象.
包含定义组成部分的类