建造模式
建造模式是一种创建型设计模式,它将一个复杂对象的构建与其表示分离。它允许你通过一步一步地构建对象来创建不同的表示。它通常用于创建复杂的对象。
建造模式有如下优点:
- 将复杂对象的构建与表示分离。
- 可以更容易地创建不同的表示。
- 可以方便地扩展新类型。
结构 #
建造模式包含以下角色:
- 抽象建造者(Builder): 定义一个接口,指定构建复杂对象各个部分的步骤。
- 具体建造者(ConcreteBuilder): 实现抽象建造者接口,具体实现构建复杂对象的步骤。
- 指挥者(Director): 负责调用具体建造者的方法,构建复杂对象。
- 产品(Product): 最终构建出来的复杂对象。
UML简图 #
classDiagram direction LR class Builder { << interface >> +buildPartA() +buildPartB() +buildPartC() +getResult() } class ConcreteBuilder1 { +buildPartA() +buildPartB() +buildPartC() +getResult() } class ConcreteBuilder2 { +buildPartA() +buildPartB() +buildPartC() +getResult() } class Director { +construct() } class Product { +partA +partB +partC } Builder <|.. ConcreteBuilder1 Builder <|.. ConcreteBuilder2 Director --> Builder Director --> Product Product ..> ConcreteBuilder1 Product ..> ConcreteBuilder2
示例代码 #
本示例中我们使用建造模式来创建一部车,一部车显然是一个“复杂”的对象,可以将它的创建分成不同的部分,比如座椅,引擎,行车电脑等等不同的模块。我们使用建造模式来创建一个“车”对象。
...