Java策略模式取代if else
別再大量的if else了, 代碼太簡(jiǎn)陋了, 可讀性太差了.
策略模式的定義
....
簡(jiǎn)單來(lái)說(shuō) 每個(gè)模塊相互獨(dú)立 互不影響 提高代碼的可擴(kuò)展性 !
舉栗子, 如下?tīng)€代碼
if ("花唄支付".equals(type)) {
// 花唄支付的業(yè)務(wù)邏輯處理
} else if ("微信支付".equals(type)) {
// 微信支付業(yè)務(wù)邏輯
} else if ("云閃付".equals(type)) {
// 云閃付支付業(yè)務(wù)邏輯
} else if ("...".equals(type)) {
// ....
}
思考: 可以定義一個(gè)支付接口, 支付方法, 不同的支付方式寫不同的實(shí)現(xiàn)類, 互不干擾, 互不影響, 以后添加新的支付方式, 只需添加新的實(shí)現(xiàn)類實(shí)現(xiàn)支付接口, 重寫他的支付方法即可, 無(wú)需改動(dòng)之前寫的代碼.
正好今天敲代碼的時(shí)候 使用到了該設(shè)計(jì)模式, 簡(jiǎn)單分享一下
定義接口

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

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


定義接口

是不是比大量的if else 簡(jiǎn)潔多了~
把每個(gè)不同的模塊抽取出來(lái), 通過(guò)bean的名稱獲取接口的實(shí)現(xiàn)類, 執(zhí)行方法
到此這篇關(guān)于Java策略模式取代if else的文章就介紹到這了,更多相關(guān)Java 策略模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用JAR包中MANIFEST.MF的注意事項(xiàng)
這篇文章主要介紹了使用JAR包中MANIFEST.MF的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
spring cloud feign不支持@RequestBody+ RequestMethod.GET報(bào)錯(cuò)的解決方法
這篇文章主要介紹了spring cloud feign不支持@RequestBody+ RequestMethod.GET報(bào)錯(cuò)的解決方法,需要的朋友可以參考下2018-01-01
Springboot 自定義校驗(yàn)代碼實(shí)例
這篇文章主要介紹了Springboot 自定義校驗(yàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
java中BigDecimal進(jìn)行加減乘除的基本用法
大家應(yīng)該對(duì)于不需要任何準(zhǔn)確計(jì)算精度的數(shù)字可以直接使用float或double運(yùn)算,但是如果需要精確計(jì)算的結(jié)果,則必須使用BigDecimal類,而且使用BigDecimal類也可以進(jìn)行大數(shù)的操作。下面這篇文章就給大家介紹介紹關(guān)于java中BigDecimal進(jìn)行加減乘除的基本用法。2016-12-12
Spring?Boot條件注解之@ConditionalOnProperty完全解析
這篇文章主要介紹了SpringBoot中的@ConditionalOnProperty注解,通過(guò)配置文件屬性值控制Bean或配置類的加載,實(shí)現(xiàn)功能開(kāi)關(guān)和環(huán)境配置,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(26)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07
Java實(shí)現(xiàn)動(dòng)態(tài)代理
本文給大家介紹的是java使用動(dòng)態(tài)代理類實(shí)現(xiàn)動(dòng)態(tài)代理的方法和示例,這里推薦給大家,有需要的小伙伴參考下吧2015-02-02

