1. 程式人生 > >九、Java設計模式之策略模式

九、Java設計模式之策略模式

定義:

  • 定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化不會影響到使用演算法的使用者
  • if ..... else替換
  • 系統有很多類,而他們的區別僅僅在於他們的行為
  • 一個系統需要動態地在幾種演算法中選擇一種

優點:

  • 開閉原則
  • 避免使用多重條件轉移語句
  • 提高演算法的保密性和安全性

缺點:

  • 客戶端必須知道所有策略類,並自行決定使用哪一個策略類
  • 產生很多策略類

 

 策略模式-相關設計模式

  • 策略模式和工廠模式
  • 策略模式和狀態模式