[Design Pattern]Strategy模式
字面意思
strategy [ˈstrætidʒi]
n.戰略,策略
意圖
- 根據情況的不同,採用不同的演算法則。
- 使演算法可獨立於使用它的客戶而變化。
- 定義一系列的演算法,把它們一個個封裝起來,並使它們可相互替換。
口訣
把演算法則整個換掉。
問題
需要依客戶或是數據的不同採用不同的演算法則。
效果
- 定義了一系列的演算法則。
- 可不使用Switch或判斷陳述式。
- 必須以相同的方式叫用所有的演算法。
- 必須擁有相同的接口。
實現方法
- 定義一個抽象類。
- 每個繼承該抽象類的子類別需按需求實現演算法。