策略模式Strategy

2021-07-27 05:16:19 字數 592 閱讀 6940

概念:行為模式之一,它對一系列的演算法或實現進行封裝,為所有演算法或實現定義統一介面,並通過繼承該抽象介面對所有的實現加以封裝和實現,

具體的實現選擇交由客戶端決定(策略)。strategy模式主要用來平滑地處理演算法或各種實現的切換。

結構:strategy: 各種實現的抽象基類。

concretestrategy:各種實現的具體子類

context: 策略的外殼,或者說策略的容器類。根據不同策略執行不同的行為。

適用:一般用於一組實現,用其進行封裝後,當呼叫實現後方便於各個實現進行相互調換。

例項:

#include "stdafx.h"

#include using namespace std;

class strategy

;class way1 : public strategy

};class way2 : public strategy

};class context

void operator()//操作

private:

strategy *p;

};void main()

策略 Strategy 模式

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

策略模式 Strategy

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

策略模式 Strategy

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