从800万年前东非大裂谷出现造就非洲猿开始随环境不断进化到类人猿、猿人,最后随着历史的脚步进化到现代智人。人类的脚步,从来就不曾停止;人类文明的进步不断加快。这其中最重要的就是人类把已有的经验总结成一个个做事流程保留传承下来。流程不变,但每个流程实现的具体细节则是经常变化的。这就是要说的建造者模式。
建造者模式的好处就是保证了流程不会变化,流程即不会增加、也不会遗漏或者产生流程次序错误。
建造者模式中的角色:
1. builder:是为创建一个Product对象的各个部件指定的抽象接口。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。
2. ConcreteBuilder:具体建造者,实现Builder接口,构造和装配各个部件,针对不同的商业逻辑,具体化复杂对象的各部分的创建。 在建造过程完成后,提供产品的实例。
3. Director:指挥者,构建一个使用Builder接口的对象,调用具体建造者来创建复杂对象的各个部分,在指挥者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。
4. Product:具体产品要创建的复杂对象。
建造者模式结构图:
什么时候用这个模式呢?
a.创建一些复杂的对象时,这些对象的内部组成构件间的建造顺序是稳定的,但是对象的内部组成构件面临着复杂的变化。
b.要创建的复杂对象的算法,独立于该对象的组成部分,也独立于组成部分的装配方法时