設計模式c++學習筆記之一(strategy策略模式)
無意中,從網上下到一本電子書《24種設計模式介紹與6大設計原則》,很好奇這裡有24種設計模式,印象中gof寫的《設計模式》(design patterns),好像只有23種吧。執行起來一看,還真挺吸引咱的,裡面提到的例子都很有趣。很感謝作者寫出這樣好的例子來,我的目的是把作者提到的例子用c++來實現。寫這本書的作者是:cbf4life,更詳細的內容及說明可以參考原作者部落格:cbf4life.cnblogs.com。
這裡只進行簡單提示和實現編碼。
1.1.解釋
main(),趙雲
ccontext,錦囊
istrategy,策略介面
cbackdoor,策略之一
cgivengreenlight,策略之二
cblockenemy,策略之三
說明:乙個策略放到乙個錦囊裡。當用的時候,找到這個錦囊,從錦囊裡拿出策略來使用。
看**:
乙個錦囊只能裝乙個妙計,趙雲可以有多個錦囊。屬於物件行為型模式。很簡單的乙個模式了,貌似這24個裡面,這是最簡單的了。也好,先用乙個簡單容易的開頭,都說萬事開頭難,找個簡單的開始,鼓勵自己堅持學下來,就會有收穫。部落格也會起到這個作用吧,鼓勵自己。上圖不是單純的抽象出來的模式類圖,而只是描述了**裡用到的類之間的關係圖。真正的抽象類圖,只有策略介面和乙個策略實現類,還有ccontext類以及client。
C 設計模式 Strategy策略模式
strategy策略模式 作用 定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。uml圖 strategy模式將邏輯 演算法 封裝到乙個類 context 裡面,通過組合的方式將具體演算法的實現在組合物件中實現,再通過委託的方式將抽象介面的實...
C 設計模式 Strategy策略模式
strategy策略模式 作用 定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。uml圖 strategy模式將邏輯 演算法 封裝到乙個類 context 裡面,通過組合的方式將具體演算法的實現在組合物件中實現,再通過委託的方式將抽象介面的實...
C 設計模式 策略模式 Strategy
策略模式 簡單工廠模式 舉例 1.簡單工廠模式實現 簡單工廠模式我需要讓客戶端認識兩個類,cashsuper和cashfactory 2.策略模式 簡單工廠模式實現 而策略模式我只需要給客戶端暴露cashcontext類即可,耦合更加降低了,ifndef strategy h define stra...