(一)建造者模式步骤
1、建立一个抽象类——“抽象的建造者”,它声明了建立一个产品的全部通用步骤;
2、具体的“建造者”类继承这个抽象类,这就能保证具体类在设计时不会遗漏任何通用的步骤;
3、由于通用步骤都是需要被一口气走完的,若由客户端来依次调用,则容易发生遗漏,因此需要使用一个函数把“依次调用步骤”封装起来。
4、将这个函数放到“指挥者”类中,函数的参数是具体的“建造者”对象,在这个函数中使用传入的“建造者”对象依次把通用步骤走完。当然,在“建造者”对象依次执行步骤的过程中,它内部的“产品”字段就越来越完善,步骤走完了,内部的“产品”也就造好了。此时“建造者”对象可以用一个函数返回这个建造好的产品。
(二)模式的使用过程
1、客户端建立一个具体的“建造者”对象;
2、将这个具体的“建造者”对象传给“指挥者”对象,由它“指挥”这个“建造者”对象将通用的步骤走完;
3、最后由“建造者”对象返回造好了的产品。
(三)建造者模式的好处
建造一类产品需要很多通用的步骤,这种模式可以防止具体的建造者类在设计时遗漏某些通用的步骤,并且在“指挥者”中把这些步骤的依次调用封装进了函数,防止客户端调用时遗漏某些通用的步骤。等于巧妙地对步骤进行了封装和完整性检验。