概念:通過定義一系列封裝的演算法,使得排程者可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。
特點:1)根據不同的情況建立不同的物件。
2)每個物件的方法名相同,但實現卻不同。
結構:1)乙個抽象策略
2)多個繼承策略
c) 持有乙個具體策略類的引用,供客戶端使用
#includeusingnamespace
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 設計模式之策略模式
這兩年,中國好聲音席捲全國,深受觀眾的青睞,收視率也創造了新高。無論你是否身份低微或是高富帥,都可以通過好聲音這個平台,實現自己的明星夢。緊隨其後,中國好舞蹈等節目鋪天蓋地席捲而來,給選手乙個圓夢的機會。如果想實現明星夢,可以參加中國好聲音,也可以參加中國好舞蹈這些節目,還可以參加星光大道,或者像筷...