設計模式筆記 – 策略模式

分類

  • 行為型

模式的目的(定義)

  • 把同類型的行為(算法家族)以實現同一個接口的方式封裝起來;客戶只需要引用該接口,就可以實現行為的動態替換。
  • 客戶不需要為行為的變化操心

使用場景例子

  • Floating Otter中,場景會有很多可以交互的對象(動物/場景物體),玩家一般有以下3種操作方式:
    • 敲撃
    • 抓取
    • 進食
  • 每個對象對於玩家的這些操作會有不同的響應方式;
  • 對於某一個操作也可能會根據對象本身的差異而有多種響應方式
    • 比如:魚被敲撃後會眩暈;貝殼被敲撃後會扣減1點生命值
  • 這裡就可以使用策略模式,實現對象對玩家操作的響應的動態變換

類圖

參考書目

  • 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates