建造者模式 (Builder Pattern) 是一种创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。
一、基础
1.1 意图
-
将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。
1.2 适用场景
-
当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
-
当构造过程必须允许被构造的对象有不同的表示时。
1.3 结构
- 产品(Product):最终创建的复杂对象。它包含多个组成部分,这些部分的组合方式和顺序可能会影响最终产品的形态。
- 抽象创建者(Builder):定义了创建产品各个部分的抽象方法,这些方法的组合决定了产品的构建流程。同时,还提供了一个获取最终产品的方法。
- 具体创建者(ConcreteBuilder):实现抽象创建者定义的抽象方法,负责具体构建产品的各个部分。每个具体创建者对应一种特定的产品构建方式。
- 指挥者(Director):负责安排产品的构建顺序,调用创建者的方法来构建产品。指挥者知道构建一个完整