定義:將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。
舉例:學校需要製造桌子,桌子高低大小不等;只需將不同規格的桌子告知建造者即可。適用於流程相同,規格不同的場景。
類圖
客戶端
#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;
}
運行結果
源碼地址