设计模式-04 设计模式-Builder
1.定义
建造者模式(Builder Pattern)是一种创建型设计模式,它允许你使用不同的构建步骤来创建复杂的对象。

(图片来源网络,侵删)
建造者模式的定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
指挥者 | / \\ / \\ / \\ 具体建造者 A 具体建造者 B | | / | _______________/_______________|______________ | | | | | | _______|______________________________________________|____ | | | 已构建的产品 | |__________________________________________________________|
在这个 ASCII 图中:

(图片来源网络,侵删)
- 指挥者负责协调建造过程,它告诉建造者要创建哪些部分以及如何组装它们。
- 具体建造者代表不同的产品类型或变体。每个具体建造者负责构建产品的一个或多个部分。
- 已构建的产品是建造过程的结果。
建造过程如下:
- 指挥者创建一个具体建造者。
- 指挥者调用具体建造者的构建方法来创建产品的不同部分。
- 指挥者可以调用多个具体建造者来创建复杂的产品结构。
- 一旦所有部分都构建完成,指挥者调用具体建造者的获取产品方法来检索已构建的产品。
2.内涵
换句话说,建造者模式将对象的构建过程与对象的表示分离。这使得你可以使用相同的构建过程来创建不同类型的对象,而无需更改构建代码本身。
建造者模式包含以下角色:
- 建造者(Builder):负责创建和组装最终的对象。
- 具体建造者(Concrete Builder):实现建造者接口,并负责创建和组装最终对象的特定部分。
- 指挥者(Director):负责协调建造过程,它告诉建造者要创建哪些部分以及如何组装它们。
- 产品(Product):最终创建的对象。
3.案例对比
不用 Builder 设计模式
#include #include #include #include #include #include #include #include using namespace std; /** *
hello
- hello
- world
"; output+=text; output+="
"; cout