23種設計模式 VOL.22: 策略模式

思想: 將某個行爲抽離成行爲策略接口, 其實現類表示此行爲有多種策略方式;


  • 鴨子案例
  1. 野鴨, 飼養鴨, 玩具鴨;
  2. 每個品種的鴨子對游泳這個行爲有不同的表現;
  3. 野鴨游泳很厲害, 飼養鴨游泳一般, 玩具鴨不能自己游泳;

  • 未使用策略模式
  1. 繼承鴨子後, 子類鴨子都能獲得其鴨子的行爲, 而飼養鴨和玩具鴨不能具備飛行功能, 因此還要重寫(違背了里氏替換原則);

  • 使用策略模式
  1.   

  • Java中用到的地方
  1. Arrays.sort排序(data, comparator)
發佈了34 篇原創文章 · 獲贊 18 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章