1.简单介绍
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,而且客户端不用知道创建的过程,这样的设计模式被称为建造者模式。
建造者模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态的创建具有复合属性的对象。
2.角色
在这样的设计模式中,有以下几个角色:
1 builder:为创建一个产品对象的各个部件指定抽象接口。
2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表
示,并 提供一个检索产品的接口。
3 Director:构造一个使用Builder接口的对象。
4 Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包
含定义组成部件的类,包括将这些部件装配成最终产品的接口。
3.示意图
![示意图](https://img-blog.csdn.net/20160404215413502)
从示意图中我们看出:
通过建造者模式,使得建造过程通过Director类的Construct函数固定了,即建造过程不会变;
基类Builder中将各种Build函数定义为抽象方法,必须在子类中实现,这样使得过程不变,而且很利于系
统的扩展,符合OCP原则;