最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java設(shè)計(jì)模式的策略模式簡(jiǎn)析

 更新時(shí)間:2023年12月04日 10:02:35   作者:制造bug的鍵盤(pán)鋼琴師  
這篇文章主要介紹了Java設(shè)計(jì)模式的策略模式簡(jiǎn)析,策略模式中定義了一系列的算法族,算法族指的是類(lèi)似于一系列的行為、策略,策略模式將一系列的行為封裝成類(lèi),既可以說(shuō)是將每一種相類(lèi)似的行為都封裝成一個(gè)類(lèi),也有可能存在特殊的不進(jìn)行封裝的行為,需要的朋友可以參考下

策略模式

1.定義:

策略模式定義了算法族,并分別進(jìn)行封裝,讓它們之間可以互相替換,此模式讓算法的變化獨(dú)立于使用算法的調(diào)用者。

簡(jiǎn)單解釋一下:策略模式中定義了一系列的算法族,算法族指的是類(lèi)似于一系列的行為、策略,策略模式將一系列的行為封裝成類(lèi),既可以說(shuō)是將每一種相類(lèi)似的行為都封裝成一個(gè)類(lèi)(也有可能存在特殊的不進(jìn)行封裝的行為。)但最終都需要能夠相互替換,也就是說(shuō)各行為之間需要一定的共性,其需要實(shí)現(xiàn)共同的接口(或者說(shuō)是有共同的方法)。還有需要注意的一個(gè)點(diǎn),這些行為、算法的變化不能影響調(diào)用該行為的調(diào)用方,對(duì)于調(diào)用該使用行為的類(lèi)來(lái)說(shuō)是透明的。

2.主要解決(問(wèn)題):

在有多種算法相似的情況下,使用if…else所帶來(lái)的復(fù)雜和難以維護(hù),將其有共性的算法進(jìn)行封裝,降低代碼復(fù)雜度的同時(shí)使代碼更易維護(hù)。

3.關(guān)鍵點(diǎn):

實(shí)現(xiàn)同一個(gè)接口(既有同一個(gè)規(guī)范)

4.優(yōu)點(diǎn):

  • 算法可以自由切換。
  • 避免使用多重條件判斷。
  • 擴(kuò)展性良好

4.缺點(diǎn):

  • 策略類(lèi)相應(yīng)增多。
  • 策略類(lèi)都需對(duì)外暴露。

5.注意事項(xiàng):

當(dāng)一個(gè)系統(tǒng)的策略數(shù)量過(guò)多,多于四個(gè)則需要考慮使用混合模式,解決策略類(lèi)膨脹的問(wèn)題。

demo

共性接口:

在這里插入圖片描述

開(kāi)啟命令行為:

在這里插入圖片描述

關(guān)閉命令行為:

在這里插入圖片描述

輸出其余全部命令行為:

在這里插入圖片描述

編寫(xiě)SpringBeanFactory工廠(chǎng)類(lèi)

用以統(tǒng)籌管理實(shí)體對(duì)象:

在這里插入圖片描述

策略模式執(zhí)行實(shí)例(策略主體)

在這里插入圖片描述

SystemCommdndEnum枚舉【主要部分】

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Java設(shè)計(jì)模式的策略模式簡(jiǎn)析的文章就介紹到這了,更多相關(guān)Java策略模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis-Plus動(dòng)態(tài)表名的實(shí)現(xiàn)示例

    Mybatis-Plus動(dòng)態(tài)表名的實(shí)現(xiàn)示例

    面對(duì)復(fù)雜多變的業(yè)務(wù)需求,動(dòng)態(tài)表名的處理變得愈發(fā)重要,本文主要介紹了Mybatis-Plus動(dòng)態(tài)表名的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • MyBatisPlus深入探究映射匹配的兼容性

    MyBatisPlus深入探究映射匹配的兼容性

    在最近的工作中,碰到一個(gè)比較復(fù)雜的返回結(jié)果,發(fā)現(xiàn)簡(jiǎn)單映射已經(jīng)解決不了這個(gè)問(wèn)題了,只好去求助百度,學(xué)習(xí)mybatis映射匹配應(yīng)該怎么寫(xiě),將學(xué)習(xí)筆記結(jié)合工作碰到的問(wèn)題寫(xiě)下本文,供自身查漏補(bǔ)缺,同時(shí)已被不時(shí)之需
    2022-08-08
  • SpringBoot統(tǒng)一功能處理的方式詳解

    SpringBoot統(tǒng)一功能處理的方式詳解

    這篇文章主要為大家詳細(xì)介紹了SpringBoot統(tǒng)一功能處理的方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定借鑒價(jià)值,需要的可以參考一下
    2022-08-08
  • 一篇文章帶你入門(mén)java方法

    一篇文章帶你入門(mén)java方法

    這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-08-08
  • Java ConcurrentHashMap如何合理指定初始容量

    Java ConcurrentHashMap如何合理指定初始容量

    本文主要介紹了Java ConcurrentHashMap如何合理指定初始容量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-10-10
  • Spring中IOC和AOP的深入講解

    Spring中IOC和AOP的深入講解

    這篇文章主要給大家介紹了關(guān)于Spring中IOC和AOP的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • java驗(yàn)證碼生成具體代碼

    java驗(yàn)證碼生成具體代碼

    這篇文章主要為大家分享了java驗(yàn)證碼生成具體代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Java 添加、刪除、格式化Word中的圖片步驟詳解( 基于Spire.Cloud.SDK for Java )

    Java 添加、刪除、格式化Word中的圖片步驟詳解( 基于Spire.Cloud.SDK for Java )

    這篇文章主要介紹了Java 添加、刪除、格式化Word中的圖片( 基于Spire.Cloud.SDK for Java ),本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Spring事務(wù)框架之TransactionDefinition源碼解析

    Spring事務(wù)框架之TransactionDefinition源碼解析

    這篇文章主要為大家介紹了Spring事務(wù)框架之TransactionDefinition源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • mybatis-plus-boot-starter包與mybatis-plus-generator的沖突解決

    mybatis-plus-boot-starter包與mybatis-plus-generator的沖突解決

    本文主要介紹了mybatis-plus-boot-starter包與mybatis-plus-generator的沖突解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10

最新評(píng)論

汝阳县| 皋兰县| 棋牌| 仙桃市| 榆中县| 洛阳市| 保德县| 合江县| 三门县| 松原市| 瓮安县| 喀喇沁旗| 尉犁县| 宁化县| 军事| 石棉县| 光泽县| 城固县| 永新县| 乌拉特后旗| 营山县| 灵璧县| 老河口市| 都安| 额济纳旗| 义乌市| 项城市| 海伦市| 铜鼓县| 五峰| 呼图壁县| 平顺县| 西平县| 开化县| 兴文县| 响水县| 波密县| 大竹县| 根河市| 宜昌市| 壤塘县|