定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
举例:学校需要制造桌子,桌子高低大小不等;只需将不同规格的桌子告知建造者即可。适用于流程相同,规格不同的场景。
类图
客户端
#include "BigDesk.h"
#include "SmallDesk.h"
#include "Builder.h"
int main(int argc, char *argv[])
{
BigDesk big;
SmallDesk small;
Builder builder;
builder.construct(&big);
builder.construct(&small);
builder.construct(&big);
getchar();
return 0;
}
运行结果
源码地址