建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
类图
角色:
1.Builder表示抽象建造者,其中创建了Product对象的各个部件的抽象接口
2.ConcreteBuilder为具体建造者,实现了Builder中的方法
3.Director指挥者,用于构建一个实现Builder接口的对象,它的主要抉择就是确定了构造方法(调用Builder中的方法),然后将整个组合好的Product给返回
4.Product具体产品类,类似与配件
总结
同样是生产产品,工厂模式是生产某一类产品,而建造者模式则是将产品的零件按某种生产流程组装起来,它可以指定生成顺序,建造者模式将一个复杂对象的创建职责进行分配,它把构造过程放到指挥者方法中,装配过程放在具体建造者类中。建造者模式的产品一般都具有共同特点,如果产品之间的差异很大,就需要借助工厂方法模式或者抽象工厂模式。