读书笔记11:建造者模式
1、概念
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2、角色
产品(Product)——根据不同建造者建造的结果;
抽象建造者(Builder)——包含详细的建造步骤;
指挥者(Director)——安排如何建造,如何安排步骤的先后顺序;
具体的建造者——根据不同的需求,实现Builder的步骤,每一步骤如何实现是不同的,但是Builder中的所有步骤必须都要有。
3、模型
各角色的实现
客户端调用
结果
建造者模式强调的是步骤,就是得到的结果必须保证产生这个结果的流程都是统一的,而且也是的算法和表示分离,这一点类似于策略模式,不同的算法来实现这个策略。但是建造者模式更强调的是步骤。同时从指挥者这部分看又有些类似于外观模式,定义一个高层接口使子系统更加容易使用。但是建造者模式中,这部分的特点是指挥者决定步骤的顺序,它指挥如何建造,而且经过它指挥的产生的结果在流程上是一样的。