设计模式学习(十七)建造者模式

模式名称

建造者模式(builder pattern)

解决问题

它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。

解决方法

生成器(Builder)为创建产品(Product)对象的部分指定一个抽象接口。
具体生成器(ConcreteBuilder)
实现生成器(Builder)的接口以构造和装配该产品(Product)的各个部件。
定义并明确它所创建的表示。
提供一个检索产品的接口
管理者(Director)构造一个使用 Builder 接口的对象
产品类(Product)
表示被构造的复杂对象。ConcreateBuilder 创建该产品的内部表示并定义它的装配过程。
包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

客户创建Director对象,并用它所想要的Builder对象进行配置。

模式优点

1.隐藏创建细节,利用相同的过程创建不同的对象。
2.建造者方便替换,符合开闭原则。
3.创建过程更清晰有条理。

模式缺点

1.使用范围受产品是否相似的影响。
2.可能会添加很多建造者,增加系统的复杂性。

源码

 

 

打赏