項目中通常用到if判斷,但有時候為了擴展的需要,不想過多的寫if焰情,else語句搞疗,這時候首先想到的就是使用策略模式嗓蘑。
策略模式(Strategy Pattern):定義一系列算法,將每一個算法封裝起來,并讓它們可以相互替換桩皿。策略模式讓算法獨立于使用它的客戶而變化豌汇,也稱為政策模式(Policy)。
Context: 環(huán)境類
Strategy: 抽象策略類
ConcreteStrategy: 具體策略類
時序圖:
通過圖可以看到有一個接口泄隔,不同的情況下使用不同的實現(xiàn)類的計算邏輯拒贱。
項目中通常根據不同的事件,類型佛嬉,走不同的業(yè)務邏輯逻澳。
那么在spring boot中怎么使用呢。舉個簡單的例子:
1.定義接口
2.編寫實現(xiàn)類暖呕,子類的代碼基本都是根據自己的業(yè)務做好實現(xiàn)就行斜做,大致的代碼如下:
3.編寫Myconfig.java,做好類型和子類的對應關系
4.使用的時候在類中引入,然后根據類型開始調用
5.根據類型查找對應的實現(xiàn)類缰揪,減少if語句陨享,同時也方便擴展新的類型,減少了代碼耦合
---------------------------
如果對您有幫助抛姑,記得雙擊么么噠!
--------------------------