策略模式

適用場景

  1. 多個類有不同的表現形式,每種業務可以以不同的實現,實現具體業務,體現設計原則中單一原則。
  2. 需要再不同情況下使用不同的具體業務實現,後期業務可能還會增加。
  3. 對用戶隱藏算法邏輯。

優點

  1. 每個算法單獨封裝,減少了算法和算法調用者的耦合。
  2. 合理使用繼承有助於提取出算法中的公共部分。
  3. 簡化了單元測試。

缺點

  1. 策略模式只適用於客戶端知道所有的算法或行爲的情況。
  2. 策略模式造成很多的策略類,每個具體策略類都會產生一個新類。不過可以使用享元模式來減少對象的數量。

類圖

 

step1 定義策略接口,抽出業務公共特徵,具體成函數

step2 定義業務類型

step3 根據不同業務類型,執行不同實現

step4 客戶端調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章