总第67篇
相信我们都玩过搭积木游戏,把不同的部件拼接成自己想要的东西的过程,就是一个构建过程,程序中将这一构建过程称作构建模式。本篇将详细梳理这种设计模式。
1.建造者模式的概念
建造者模式(Builder Pattern)也称作构建模式、生成器模式。它是将一个复杂对象的构建过程与它的表现分离,使得同样的构建过程可以创建不同的表现。
构建模式是一个产品或对象的生成器,强调产品的构建过程,其类图关系如下:
从上图中可以看出,Product是产品的抽象类,ProductA、ProductB是具体的产品,Builder是抽象构建类,ProductABuilder是对应产品的具体构建类,而BuilderManager是构建类的管理类,负责管理每一种产品的创建数量和创建顺序。
建造者模式的优点主要体现在以下几个方面:
封装性良好。使用建造模式可以使客户端不必知道产品内部的组成细节,起到良好的封装特性;
建造者模式容易扩展。各个具体的产品实现是相互独立的,与其它建造者无关,可方便地替换和增加新的建造者;