建造者模式的定義將乙個複雜物件的構建與它的表示分離;
複雜物件的建造指的是物件中複雜的介面實現,而表示指的是通過這些實現,可以得到不同的結果,其實多型
《大話設計模式》中,例子是,建造小人,一共需建造6個部分,頭部、身體、左右手、左右腳。與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。
**實現很簡單,如下;
角色角色作用
角色成員
抽象建造者
包含所有複雜抽象介面
所有抽象複雜介面 建造者1
建造者2
實現建造者2介面
實現建造者2介面
導向者決定表示
包含乙個建造者基類,和建造方法的流程函式creat()
#include "pch.h"
#include #include#includeusing namespace std;
class builder
virtual void buildbody() {}
virtual void buildleftarm() {}
virtual void buildrightarm() {}
virtual void buildleftleg() {}
virtual void buildrightleg() {}
};//構造瘦人
class thinbuilder : public builder
void buildbody()
void buildleftarm()
void buildrightarm()
void buildleftleg()
void buildrightleg()
};//構造胖人
class fatbuilder : public builder
void buildbody()
void buildleftarm()
void buildrightarm()
void buildleftleg()
void buildrightleg()
};//構造的指揮官
class director
void create()
};int main()
最後輸出結果
build fat body
build fat head
build fat leftarm
build fat rightarm
build fat leftleg
build fat rightleg
建造者模式
1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...
建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...
建造者模式
建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...