spring boot 中通過@Bean map的方式減少if語句

項目中通常用到if判斷,但有時候為了擴展的需要,不想過多的寫if,else語句,這時候首先想到的就是使用策略模式。

策略模式(Strategy Pattern):定義一系列算法,將每一個算法封裝起來,并讓它們可以相互替換。策略模式讓算法獨立于使用它的客戶而變化,也稱為政策模式(Policy)。

Context: 環(huán)境類

Strategy: 抽象策略類

ConcreteStrategy: 具體策略類

類圖


時序圖:

時序圖


通過圖可以看到有一個接口,不同的情況下使用不同的實現(xiàn)類的計算邏輯。


項目中通常根據(jù)不同的事件,類型,走不同的業(yè)務邏輯。

那么在spring boot中怎么使用呢。舉個簡單的例子:

1.定義接口


接口定義

2.編寫實現(xiàn)類,子類的代碼基本都是根據(jù)自己的業(yè)務做好實現(xiàn)就行,大致的代碼如下:


子類

3.編寫Myconfig.java,做好類型和子類的對應關系


類型和子類對應關系

4.使用的時候在類中引入,然后根據(jù)類型開始調(diào)用


類中注入

5.根據(jù)類型查找對應的實現(xiàn)類,減少if語句,同時也方便擴展新的類型,減少了代碼耦合


根據(jù)類型查找對應的實現(xiàn)類,減少if語句


---------------------------

如果對您有幫助,記得雙擊么么噠!

--------------------------

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,626評論 1 32
  • 本文僅僅為入門,高手勿噴。 實際工作中,我們總會遇到類似如下的需求:某支付系統(tǒng)接入以下幾種商戶進行充值:易寶網(wǎng)易,...
    JarvanMo閱讀 14,371評論 14 26
  • javascript設計模式與開發(fā)實踐 設計模式 每個設計模式我們需要從三點問題入手: 定義 作用 用法與實現(xiàn) 單...
    穿牛仔褲的蚊子閱讀 4,447評論 0 13
  • ios開發(fā)學習中,經(jīng)常弄不清楚ios的開發(fā)模式,今天我們就來進行簡單的總結(jié)和探討~(一)代理模式應用場景:當一個類...
    貝勒老爺閱讀 1,392評論 1 8
  • 文:冰山雪雁 【一】 “微風吹著浮云,飄落大地細雨,淋濕你,淋濕我,淋得世界充滿詩意,漫步青青草地,小草也輕輕低語...
    冰山雪雁閱讀 521評論 1 3

友情鏈接更多精彩內(nèi)容