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

項目中通常用到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語句陨享,同時也方便擴展新的類型,減少了代碼耦合


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


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

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

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末艳狐,一起剝皮案震驚了整個濱河市定硝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毫目,老刑警劉巖蔬啡,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異镀虐,居然都是意外死亡箱蟆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門刮便,熙熙樓的掌柜王于貴愁眉苦臉地迎上來空猜,“玉大人,你說我怎么就攤上這事恨旱”蔡海” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵搜贤,是天一觀的道長谆沃。 經常有香客問我,道長仪芒,這世上最難降的妖魔是什么唁影? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任耕陷,我火速辦了婚禮,結果婚禮上据沈,老公的妹妹穿的比我還像新娘啃炸。我一直安慰自己,他們只是感情好卓舵,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膀钠,像睡著了一般掏湾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肿嘲,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天融击,我揣著相機與錄音,去河邊找鬼雳窟。 笑死尊浪,一個胖子當著我的面吹牛,可吹牛的內容都是我干的封救。 我是一名探鬼主播拇涤,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼誉结!你這毒婦竟也來了鹅士?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤惩坑,失蹤者是張志新(化名)和其女友劉穎掉盅,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體以舒,經...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡趾痘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔓钟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片永票。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奋刽,靈堂內的尸體忽然破棺而出瓦侮,到底是詐尸還是另有隱情,我是刑警寧澤佣谐,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布肚吏,位于F島的核電站,受9級特大地震影響狭魂,放射性物質發(fā)生泄漏罚攀。R本人自食惡果不足惜党觅,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斋泄。 院中可真熱鬧杯瞻,春花似錦、人聲如沸炫掐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽募胃。三九已至旗唁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痹束,已是汗流浹背检疫。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祷嘶,地道東北人屎媳。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像论巍,于是被迫代替她去往敵國和親烛谊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

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