一 概念
二 uml圖
三 策略模式解析
四 c++實現**
#include "pch.h"
#include using namespace std;
//現金收取類的抽象方法 strategy類
//定義所有支援的演算法的公共介面
class cashsuper
;//正常收費子類
class cashnormal : public cashsuper
};//打折收費子類
class cashrebate : public cashsuper
double acceptcash(double money) override
private:
double _moneyrebate;
};//返利收費子類
class cashreturn : public cashsuper
double acceptcash(double money) override
return result;
}private:
double _moneycondition;
double _meneyreturn;
};class cashcontext
} ~cashcontext() }
//根據收費策略的不同,獲得計算結果
double getresult(double money)
private:
cashsuper* cs;
};int main()
第2章 商場促銷 策略模式
策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,次模式讓演算法的變化,不會影響到使用演算法的客戶。使用的是聚合關係 策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演...
2 策略模式
ifndef strategy h define strategy h include using namespace std 策略模式 不同種族加成不同的技能 class 種族 virtual void skilladd 0 不同的天賦加成不同的屬性 class 天賦 virtual void p...
策略模式 2
排序的方法靈活指定 例 按重量,高度,順序,倒敘等 開閉原則 對修改關閉 盡量不去修改原來的 對擴充套件開發 排序 sorter 傳遞陣列 傳遞比較器 comparator 自定義比較器 public inte ce comparator 比較器的自定義實現 public class catcomp...