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