定义:Separate the construction of a complex object from its representation so that the same construction process can create different representations. 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式的通用类图如图:
在建造者模式中,有如下四个角色:
- Product产品类:通常是实现了模板方法模式,也就是有模板方法和基本方法,这个参考上一章节的模板方法模式。在例子中,BenzModel和BMWModel就属于产品类。
- Builder抽象建造者:规范产品的组建,一般是由子类实现。在例子中,CarBuilder属于抽象建造者。
- ConcreteBuilder具体建造者:实现抽象类定义的所有方法