目录
简介
建造者(也叫生成器模式,属于创建型模式)模式:将一个复杂对象的构建过程与它的构建细节分离,使得同样的构建过程可以执行不同的表示。
首先,将复杂对象的创建过程和部件的表示分离出来,其实就是把创建过程和自身的部件解耦,使得构建过程和部件都可以自由扩展,两者之间的耦合降到最低。然后,再是相同的构建过程可以创建不同的表示,相同的组合也可以通过不同的部件创建出不同的对象。
主要作用
在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。
- 用户只需要给出指定复杂对象的类型和内容;
- 建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)

- 产品类(Product):一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。具体建造者要构造的复杂对象,在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。
- 抽象建造者(Bulider):抽象生成器是一个接口,将建造的具体过程交与它的子类来实现。这样更容易扩展。一般至少会有两个抽象方法,一个用来建造产品,一个返回Product对象的方法;
- 具体建造者(ConcreteProduct):实现Builder接口的类,具体建造者将实现Builder接口所定义的方法;
- 指挥者(Director):指挥者是一个类,该类需要含有Builder接口声明的变量。指挥者的职责是负责向用户提供具体建造者的类型,即指挥者将请求具体建造者类来构造用户所需要的Product对象,如果所请求的具体建造者成功地构造出Product对象,指挥者就可以让