建造模式:将一个复杂对象的构建过程与它的表示分离,使得同样的构造过程可以创建出不同的表示。

是为了将构建复杂对象的过程和它的部件解耦

 

建造模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的产品对象。建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体建造零件和责任分割开来,达到责任划分和封装的目的。

建造模式本质:分离提构建算法和部件构造。

建造模式的特点:

     1:最终创建的产品(Product)内部结构相对复杂
     2:Product的创建过程稳定.
     3:Product的内部对象的实现过程是可变动的。
     4:Product并不关心内部子系统如何实现(只求结果不关心过程).
     5:Product的创建过程与实现部分分离。

     6:同样的创建过程可以实现不同的表现结果.

 

与模板方法模式类似;模板方法模式主要是用来定义算法的骨架,将算法中的部分步骤延迟到子类去实现。Director用来定义整体的构建算法,把算法中某些涉及到具体部件对象的创建和装配功能委托给builder来实现。

当然他们的目的不一样:建造模式主要是构建复杂的对象 对象间是组合方式;模板方法模式主要定义算法骨架,将不变与可变分离。可变延迟到子类去实现,对象间是继承方式。