📄 builder1.txt
字号:
class Builder {
public:
//创建部件A 比如创建汽车车轮
void buildPartA();
//创建部件B 比如创建汽车方向盘
void buildPartB();
//创建部件C 比如创建汽车发动机
void buildPartC();
//返回最后组装成品结果 (返回最后装配好的汽车)
//成品的组装过程不在这里进行,而是转移到下面的Director 类中进行.
//从而实现了解耦过程和部件
Product getResult();
};
class Director {
private:
Builder builder;
public:
Director( Builder builder ) {
this.builder = builder;
}
// 将部件partA partB partC 最后组成复杂对象
//这里是将车轮 方向盘和发动机组装成汽车的过程
public:
void construct() {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
};
class ConcreteBuilder:public Builder {
Part partA, partB, partC;
public:
void buildPartA() {
//这里是具体如何构建partA 的代码
};
public:
void buildPartB() {
//这里是具体如何构建partB 的代码
};
public:
void buildPartC() {
//这里是具体如何构建partB 的代码
};
public:
Product getResult() {
//返回最后组装成品结果
}
};
void main()
{
ConcreteBuilder builder;
Director director = new Director( builder );
director.construct();
Product product = builder.getResult();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -