2 策略模式

2021-07-02 01:26:00 字數 783 閱讀 3523

#ifndef __strategy_h__

#define __strategy_h__

#include using namespace std;

// 策略模式

// 不同種族加成不同的技能

class 種族

; virtual void skilladd() = 0;

};// 不同的天賦加成不同的屬性

class 天賦

; virtual void propertyadd() = 0;

};class 亡靈 : public 種族

};class 獸人 : public 種族

};class 人類 : public 種族

};class 體質 : public 天賦

};class 慧根 : public 天賦

};class 職業

virtual ~職業()

void careerskilladd()

void careerpropertyadd()

virtual void magecareerbase()

void base() };

class mage : public 職業

void magecareerbase() };

class warrior : public 職業

void warriorcareerbase() };

#endif

int main(void)

策略模式 2

排序的方法靈活指定 例 按重量,高度,順序,倒敘等 開閉原則 對修改關閉 盡量不去修改原來的 對擴充套件開發 排序 sorter 傳遞陣列 傳遞比較器 comparator 自定義比較器 public inte ce comparator 比較器的自定義實現 public class catcomp...

設計模式 策略模式 2

設計模式,先說設計模式吧,對於設計模式而言,這裡邊把事物具體抽象出來,就剩下什麼了?就剩下 如何用乙個良好的結構儲存資料?然後如何用乙個擴充套件性強,可維護性高的操作,來實現這些資料的操作與控制 好了,感言說完了,接下來就是,聊一聊設計模式中的 策略模式!對於策略模式而言,有乙個比較好的例子,那就是...

2 設計模式 策略模式

定義 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會直接影響到用演算法的客戶。模式分析 策略模式是一種定義一系列演算法的模式,完成的工作相同,只是由於實現不同,所以以相同的方式呼叫,減少了各種演算法類與使用演算法類之間的耦合。策略模式可以封裝任何型別的規則,實踐...