別再大量的if else了, 程式碼太簡陋了, 可讀性太差了.
策略模式的定義
....
簡單來說每個模組相互獨立互不影響提高代碼的可擴展性!
舉栗子, 如下爛代碼
if ("花呗支付".equals(type)) { // 花呗支付的业务逻辑处理 } else if ("微信支付".equals(type)) { // 微信支付业务逻辑 } else if ("云闪付".equals(type)) { // 云闪付支付业务逻辑 } else if ("...".equals(type)) { // .... }
思考: 可以定義一個支付接口, 支付方法, 不同的支付方式寫不同的實現類別, 互不干擾, 互不影響, 以後添加新的支付方式, 只需添加新的實現類實現支付接口, 重寫他的支付方法即可, 無需改動之前寫的代碼.
正好今天敲程式碼的時候使用到了該設計模式, 簡單分享一下
定義介面
定義不同的實作類別
每個實作類別都會處理自己的業務, 互不干擾, 相互隔離, 例如如下兩個實作類別實作了相同介面處理不同的業務
#定義介面
#是不是比大量的if else 簡潔多了~
把每個不同的模組抽取出來, 透過bean的名稱取得介面的實作類別, 執行方法
以上是如何使用Java策略模式取代if else的詳細內容。更多資訊請關注PHP中文網其他相關文章!