一、认知
1-----什么是建造者?
当一个复杂的对象可以稳定地由其他许多不同类型的对象或者内容组合而成,我们可以建立统一的流水线来对其组合流程进行组装和建造! 举个例子,人正常进食的行为是:坐下、端碗、起筷、夹菜,入口,吃饭。那么在一家人中,爸爸与妈妈是不同对象,其行为习惯必然各有差异,但是其基本的进食行为是一致的。假如我拥有能控制人吃饭的能力,那么该进食行为就是我手里的能力。只要你告诉我想控制谁吃饭,那我就可以控制这个人吃饭的顺序,但是你必须先告诉你想控制谁。对于建造者而言,进食行为就是其建造的目标,由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定,建造者掌握这个算法,每次生产只需要有合适的部分,就可以快速组合出一个对象!
2-----特点?
建造者模式更注重的是零件的装配和组装变化,他是组合复用原则中组合关系的极致体现。多使用在需要建造的对象内部拥有非常复杂的结构,生成对象的内部属性同时存在相互依赖的情况下!
3----缺点?
建造者只适用于某类流程相似的对象中,并且需要很多用来组成整体的零件类,可能会导致类爆炸!
4----体现?
1.StringBuffer对象的底层;
2.拼装电脑案例
3.麦当劳组合套餐案例