spring boot 中通過(guò)@Bean map的方式減少if語(yǔ)句

項(xiàng)目中通常用到if判斷,但有時(shí)候?yàn)榱藬U(kuò)展的需要,不想過(guò)多的寫(xiě)if,else語(yǔ)句,這時(shí)候首先想到的就是使用策略模式。

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

Context: 環(huán)境類(lèi)

Strategy: 抽象策略類(lèi)

ConcreteStrategy: 具體策略類(lèi)

類(lèi)圖


時(shí)序圖:

時(shí)序圖


通過(guò)圖可以看到有一個(gè)接口,不同的情況下使用不同的實(shí)現(xiàn)類(lèi)的計(jì)算邏輯。


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

那么在spring boot中怎么使用呢。舉個(gè)簡(jiǎn)單的例子:

1.定義接口


接口定義

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


子類(lèi)

3.編寫(xiě)Myconfig.java,做好類(lèi)型和子類(lèi)的對(duì)應(yīng)關(guān)系


類(lèi)型和子類(lèi)對(duì)應(yīng)關(guān)系

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


類(lèi)中注入

5.根據(jù)類(lèi)型查找對(duì)應(yīng)的實(shí)現(xiàn)類(lèi),減少if語(yǔ)句,同時(shí)也方便擴(kuò)展新的類(lèi)型,減少了代碼耦合


根據(jù)類(lèi)型查找對(duì)應(yīng)的實(shí)現(xiàn)類(lèi),減少if語(yǔ)句


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

如果對(duì)您有幫助,記得雙擊么么噠!

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

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

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

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

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