策略模式(Strategy)

2021-08-20 08:34:00 字數 678 閱讀 5540

設計模式之策略模式。

策略模式的主要作用是:整體地替換演算法。

無論什麼程式,其目的都是解決問題。而為了解決問題,我們需要編寫特定的演算法。使用strategy模式可以整體地替換演算法的實現部分。能夠整體地替換演算法,能讓我們輕鬆地以不同的演算法解決同乙個問題,這種模式就是strategy模式。

示例**如下:

#include

using

namespace

std;

//策略模式

//準備一組演算法,並將每乙個演算法封裝起來,使得他們可以互換。

class strategy

};//對稱加密 適合於加密大分塊的資料 加密和解密金鑰一樣。

//非對稱加密 加密速度慢 加密強度高 安全性高 特點:加密和解密金鑰不一樣。

class aes:public strategy

void operator()

private:

strategy* m_strategy;

};int main()

執行程式,執行結果如下圖所示:

該模式在具體的程式庫中使用的例子如下(後續補充):

策略 Strategy 模式

strategy 模式也叫策略模式,是由 gof提出的 23種軟體設計模式的一種。strategy 模式是行為模式之一,它對一系列的演算法加以封裝,為所有演算法定義乙個抽象的演算法介面,並通過繼承該抽象演算法介面對所有的演算法加以封裝和實現,具體的演算法選擇交由客戶端決定 策略 strategy 模...

策略模式 Strategy

public context string strategytype df對策略模式的定義是這樣的 它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化不會影響到使用演算法的客戶 main函式 abstract class strategy class concretest...

策略模式 Strategy

定義 定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互換。型別 行為類模式 結構圖 策略模式的優缺點 策略模式的主要優點有 策略模式的缺點主要有兩個 必須對客戶端 呼叫者 暴露所有的策略類,因為使用哪種策略是由客戶端來決定的,因此,客戶端應該知道有什麼策略,並且了解各種策略之間的區別,否...