亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java策略模式取代if else

 更新時間:2021年10月26日 14:39:34   作者:一月三千五  
在策略模式(Strategy Pattern)中,一個類的行為或其算法可以在運行時更改。這種類型的設計模式屬于行為型模式。在策略模式中,我們創(chuàng)建表示各種策略的對象和一個行為隨著策略對象改變而改變的 context 對象。策略對象改變 context 對象的執(zhí)行算法

別再大量的if else了, 代碼太簡陋了, 可讀性太差了.

策略模式的定義

....

簡單來說 每個模塊相互獨立 互不影響 提高代碼的可擴展性 !

舉栗子, 如下爛代碼

if ("花唄支付".equals(type)) {
 
	// 花唄支付的業(yè)務邏輯處理
 
} else if ("微信支付".equals(type)) {
 
	// 微信支付業(yè)務邏輯
 
} else if ("云閃付".equals(type)) {
 
	// 云閃付支付業(yè)務邏輯
 
} else if ("...".equals(type)) {
			
    // ....
}

思考: 可以定義一個支付接口, 支付方法, 不同的支付方式寫不同的實現(xiàn)類, 互不干擾, 互不影響, 以后添加新的支付方式, 只需添加新的實現(xiàn)類實現(xiàn)支付接口, 重寫他的支付方法即可, 無需改動之前寫的代碼.

正好今天敲代碼的時候 使用到了該設計模式, 簡單分享一下

定義接口

定義不同的實現(xiàn)類

每個實現(xiàn)類都會處理自己的業(yè)務, 互不干擾, 相互隔離, 比如 如下兩個實現(xiàn)類 實現(xiàn)了相同接口處理不同的業(yè)務

定義接口

是不是比大量的if else 簡潔多了~

把每個不同的模塊抽取出來, 通過bean的名稱獲取接口的實現(xiàn)類, 執(zhí)行方法

到此這篇關(guān)于Java策略模式取代if else的文章就介紹到這了,更多相關(guān)Java 策略模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java如何把int類型轉(zhuǎn)換成byte

    Java如何把int類型轉(zhuǎn)換成byte

    這篇文章主要介紹了Java如何把int類型轉(zhuǎn)換成byte,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java?Spring中Bean的作用域及生命周期

    Java?Spring中Bean的作用域及生命周期

    這篇文章主要介紹了Java?Spring中Bean的作用域及生命周期,Bean的作用域默認是單例模式的,也就是說所有?的使?的都是同?個對象,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-08-08
  • Mybatis和Mybatis-Plus時間范圍查詢方式

    Mybatis和Mybatis-Plus時間范圍查詢方式

    這篇文章主要介紹了Mybatis和Mybatis-Plus時間范圍查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關(guān)于MyBatis10種超好用的寫法(收藏)

    關(guān)于MyBatis10種超好用的寫法(收藏)

    這篇文章主要介紹了關(guān)于MyBatis10種超好用的寫法(收藏),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • java中的forkjoin框架的使用

    java中的forkjoin框架的使用

    這篇文章主要介紹了java中的fork join框架的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • java抓取鼠標事件和鼠標滾輪事件示例

    java抓取鼠標事件和鼠標滾輪事件示例

    這篇文章主要介紹了java抓取鼠標事件和鼠標滾輪事件示例,需要的朋友可以參考下
    2014-05-05
  • java的Map集合中按value值進行排序輸出的實例代碼

    java的Map集合中按value值進行排序輸出的實例代碼

    下面小編就為大家?guī)硪黄猨ava的Map集合中按value值進行排序輸出的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Eclipse中實現(xiàn)JS代碼提示功能(圖文教程)

    Eclipse中實現(xiàn)JS代碼提示功能(圖文教程)

    本文通過圖文并茂的形式給大家介紹了Eclipse中實現(xiàn)JS代碼提示功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-11-11
  • Spring中的之啟動過程obtainFreshBeanFactory詳解

    Spring中的之啟動過程obtainFreshBeanFactory詳解

    這篇文章主要介紹了Spring中的之啟動過程obtainFreshBeanFactory詳解,在refresh時,prepareRefresh后,馬上就調(diào)用了obtainFreshBeanFactory創(chuàng)建beanFactory以及掃描bean信息(beanDefinition),并通過BeanDefinitionRegistry注冊到容器中,需要的朋友可以參考下
    2024-02-02
  • Spring框架事務屬性中事務隔離級別與傳播行為全面講解

    Spring框架事務屬性中事務隔離級別與傳播行為全面講解

    這篇文章主要介紹了Spring框架聲明式事務的事務隔離級別和事務傳播行為,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11

最新評論