建造者模式

2022-03-12 04:56:00 字數 1458 閱讀 5137

建造者模式:將乙個複雜物件的構建與它的表示分離,是的同樣的構建過程可以建立不同的表示。

說白了,就是 不同物件的表現不同(如 香辣雞腿堡、蝦堡等),但建立流程是相同的(如 烤漢堡的流程相同),那麼將建立流程進行抽象。目的是防止某個物件建立時缺失某個步驟,導致物件不完整(如新增奧爾良雞腿堡,建立時,忘記放沙拉醬)。使用建造者模式,保證了建造流程的穩定,在具體子類中實現流程中各個環節的特殊變化。

一、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 瘦...