Java策略模式取代if else
別再大量的if else瞭, 代碼太簡陋瞭, 可讀性太差瞭.
策略模式的定義
….
簡單來說 每個模塊相互獨立 互不影響 提高代碼的可擴展性 !
舉栗子, 如下爛代碼
if ("花唄支付".equals(type)) { // 花唄支付的業務邏輯處理 } else if ("微信支付".equals(type)) { // 微信支付業務邏輯 } else if ("雲閃付".equals(type)) { // 雲閃付支付業務邏輯 } else if ("...".equals(type)) { // .... }
思考: 可以定義一個支付接口, 支付方法, 不同的支付方式寫不同的實現類, 互不幹擾, 互不影響, 以後添加新的支付方式, 隻需添加新的實現類實現支付接口, 重寫他的支付方法即可, 無需改動之前寫的代碼.
正好今天敲代碼的時候 使用到瞭該設計模式, 簡單分享一下
定義接口
定義不同的實現類
每個實現類都會處理自己的業務, 互不幹擾, 相互隔離, 比如 如下兩個實現類 實現瞭相同接口處理不同的業務
定義接口
是不是比大量的if else 簡潔多瞭~
把每個不同的模塊抽取出來, 通過bean的名稱獲取接口的實現類, 執行方法
到此這篇關於Java策略模式取代if else的文章就介紹到這瞭,更多相關Java 策略模式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java 中 hashCode() 與 equals() 的關系(面試)
- 詳解Spring bean的註解註入之@Autowired的原理及使用
- Spring中@Autowired與@Resource的區別詳析
- ApplicationListenerDetector監聽器判斷demo
- 為什麼Java中都不用a.equals(b)判斷對象相等