首頁  >  文章  >  Java  >  如何使用Java策略模式取代if else

如何使用Java策略模式取代if else

王林
王林轉載
2023-05-13 18:34:141367瀏覽

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

策略模式的定義

....

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

舉栗子, 如下爛代碼

if ("花呗支付".equals(type)) {
 
	// 花呗支付的业务逻辑处理
 
} else if ("微信支付".equals(type)) {
 
	// 微信支付业务逻辑
 
} else if ("云闪付".equals(type)) {
 
	// 云闪付支付业务逻辑
 
} else if ("...".equals(type)) {
			
    // ....
}

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

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

定義介面

如何使用Java策略模式取代if else

定義不同的實作類別

如何使用Java策略模式取代if else

每個實作類別都會處理自己的業務, 互不干擾, 相互隔離, 例如如下兩個實作類別實作了相同介面處理不同的業務

如何使用Java策略模式取代if else

如何使用Java策略模式取代if else

#定義介面

如何使用Java策略模式取代if else

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

把每個不同的模組抽取出來, 透過bean的名稱取得介面的實作類別, 執行方法

以上是如何使用Java策略模式取代if else的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除