建造者模式:將乙個複雜物件的構建與它的表示分離,是的同樣的構建過程可以建立不同的表示。
說白了,就是 不同物件的表現不同(如 香辣雞腿堡、蝦堡等),但建立流程是相同的(如 烤漢堡的流程相同),那麼將建立流程進行抽象。目的是防止某個物件建立時缺失某個步驟,導致物件不完整(如新增奧爾良雞腿堡,建立時,忘記放沙拉醬)。使用建造者模式,保證了建造流程的穩定,在具體子類中實現流程中各個環節的特殊變化。
一、uml結構圖
二、建造胖人、瘦人示例
建造胖人、瘦人時,頭、胳膊、腿各個流程相對穩定,但是胖瘦不穩定。
1 #include 2 #include 3 #include 45示例**using
namespace
std;6//
product類
7class
product815
void show()const
1621}22
};23
//抽象builder類
24class
builder25;
33//
具體胖人建立類
34class fatpersonbuilder :public
builder
3543
virtual
void
buildbody()
4447
virtual
void
buildhand()
4851
virtual
void
buildfeet()
5255
virtual
product getresult()
5659
};60
//具體瘦人人建立類
61class thinpersonbuilder :public
builder
6270
virtual
void
buildbody()
7174
virtual
void
buildhand()
7578
virtual
void
buildfeet()
7982
virtual
product getresult()
8386
};87
//director類
88class
director
8998
};99
100int
main()
101
建造者模式
1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...
建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...
建造者模式
建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...