Introduction to the Builder Pattern and its Implementation in C++. 建造者模式的介绍及其C++实现。
#建造者模式
#情形
一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。
比如娃娃工厂要造娃娃,每个娃娃有头有身子有手有腿。根据身子的胖瘦、头发的颜色还能给娃娃分成不同的种类
#结构
抽象建造者类builder:定义接口。对于娃娃这个产品,就有createHead(),createBody(),createHand().creatLeg()这四个接口。
具体建造者类FatBuilder、BrownBuilder:给出抽象类接口的具体实现。对于一个fat娃娃就有一个FatBuilder,对于棕色头发的美女就有一个BrownBuilder。
指挥者类Director:调用具体建造者对娃娃进行建造,传入一个具体的建造者,然后使用这个建造者进行建造,一般的指挥者是固定的成分,用户也可以自己决定要不要某些部分。
产品类Doll:最终产品,成员变量为各个组成部分。
#代码实现
#枚举类
枚举出产品各个部分都有哪些种类:
|
|
#产品类
定义出产品的组成部分。剩下的产品的行为接口可以自己进行个性化。
|
|