c 設計模式之策略模式

2022-05-18 11:29:00 字數 1017 閱讀 6494

概念:通過定義一系列封裝的演算法,使得排程者可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。

特點:1)根據不同的情況建立不同的物件。

2)每個物件的方法名相同,但實現卻不同。

結構:1)乙個抽象策略

2)多個繼承策略

c) 持有乙個具體策略類的引用,供客戶端使用

#includeusing

namespace

std;

/*************************************策略基類***************************************

*/class istrategy//

主要定義了虛函式;/*

************************************具體策略類***************************************

*/class strategya:public istrategy//

策略子類,主要對父類定義的虛方法進行具體實現

};class strategyb:public istrategy//

策略子類,主要對父類定義的虛方法進行具體實現

};class strategyc:public istrategy//

策略子類,主要對父類定義的虛方法進行具體實現

};/*

************************************排程類***************************************

*/class context //

排程類,根據傳進來的引數,選擇具體某個策略----待優化《參考教程》

void

dooperation()

};/*

************************************客戶端***************************************

*/int

main()

c 設計模式之策略模式

策略模式由多個封裝在乙個稱為context的驅動器類裡的相關演算法組成。客戶端程式可以從這些不同的演算法裡選擇乙個,或者在某些情況下,由context替你選擇乙個最好的演算法,策略模式的意圖是使這些演算法可交換,並提供一種方法來選擇最合適的演算法 策略模式跟工廠模式很像,都是交由客戶端來根據需求動態...

c 設計模式之策略模式

策略模式 它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化不會影響到使用演算法的使用者。二者的相同點是,都是通過多型來實現子類的實現。簡單工廠模式是通過選項生成對應的子類,來進行對應的操作。而策略模式是將生成子類的操作和對子類的操作封裝在了一起,實現了更好的封裝。簡單而...

C 設計模式之策略模式

這兩年,中國好聲音席捲全國,深受觀眾的青睞,收視率也創造了新高。無論你是否身份低微或是高富帥,都可以通過好聲音這個平台,實現自己的明星夢。緊隨其後,中國好舞蹈等節目鋪天蓋地席捲而來,給選手乙個圓夢的機會。如果想實現明星夢,可以參加中國好聲音,也可以參加中國好舞蹈這些節目,還可以參加星光大道,或者像筷...