[GoF] 策略模式 Strategy
strategy example source code @ pjchender github
策略模式指的是:「定義一系列的演算法,把它們一個個封裝起來,並且使它們可以相互替換(JavaScript 設計模式與開發實踐)」。
- 策略類別(Strategy):可以改變的部分,方便添加新的規則,這些規則的值通常會是函式。
- 環境類別(Context):不會變的部分。執行策略的地方,不需要隨著規則的增減而改變。
使用策略模式的好處在於可以很容易的添加不同的策略,而不用動到執行的函式本身。
備註
這裡的「策略」和「規則」會混著用,基本上代表同樣的意思。