建造者模式將複雜對象的構建與其表示分離,使相同構建過程可創建不同表示。屬於創建型模式。
BuildPartX()) 及獲取產品方法 (GetResult())。三種模式:完整 (全部件)、精簡 (僅窗口+進度條)、記憶 (窗口+進度條+收藏夾)。
// Product
class Player {
string menu, window, playList, controlBar, collectList;
public:
void SetMenu(string s) { menu=s; } // ... 其他 Setter
void Display() { cout<BuildWindow();
m_pPattern->BuildMenu();
m_pPattern->BuildPlayList();
m_pPattern->BuildControlBar();
m_pPattern->BuildCollectList();
return m_pPattern->GetPlayer();
}
};
ConstructManage dm;
dm.SetPlayPattern(new FullPattern());
dm.Construct()->Display();
dm.SetPlayPattern(new SimplePattern());
dm.Construct()->Display();