概念
将一个复杂对象地构建与它地表示分离,使得同样的构建过程可以创建不同的表示。
代码
产品对象
建造者模式的建造对象,通常相对较为复杂,建造过程相对固定
抽象的建造者对象
抽象的建造者对象,负责确定产品的创建模块,以及产品的返回。具体的建造者对象根据各自的要求个性化的实现这些抽象方法。
具体的建造者对象一
实现抽象的建造者对象中的抽象方法。
具体的建造者对象二
与上述对象功能相同,但是实现的方法略有不同。
指挥者类
负责指挥对象的建造过程,**针对抽象的建造者对象编写,因为不会对本方法进行重写,所以一般建造过程都相对固定。**同时将产品的创建和使用过程分离。
特点
使用建造者模式将产品的创建和使用过程分离,实现新的建造者对象,便可以创建新的建造过程。但是由于新的建造者对象严格地继承抽象的对象,所以新的建造者对象要与之前的对象类似。又因为指挥者对象依据抽象的建造者对象指挥建造过程,所以建造过程是固定的。