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

java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則示例詳解

 更新時(shí)間:2021年10月14日 09:50:30   作者:guoyp2126  
這篇文章主要為大家介紹了java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則的示例詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

概念

小接口原則,即每個(gè)接口中不存在子類用不到卻必須實(shí)現(xiàn)的方法,如果不然,就要將接口拆分。如下圖所示定義了一個(gè)接口,包含了5個(gè)方法,實(shí)現(xiàn)類A用到了3個(gè)方法、實(shí)現(xiàn)類B用到了3個(gè)方法,類圖如下:

在這里插入圖片描述

類A沒有方法4、方法5,卻要實(shí)現(xiàn)它;類B沒有方法2、方法3,但還是要實(shí)現(xiàn)這兩個(gè)方法,不符合接口隔離原則。改造為將其拆分為三個(gè)接口,實(shí)現(xiàn)方式改為下圖所示,符合接口隔離原則:

在這里插入圖片描述

實(shí)現(xiàn)

面向?qū)ο髾C(jī)制中一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,通過多重繼承分離,通過接口多繼承(實(shí)現(xiàn))來實(shí)現(xiàn)客戶的需求,代碼更加清晰易維護(hù)。如網(wǎng)上商城系統(tǒng)中,封裝一個(gè)用戶類,完成用戶的消費(fèi)記錄、瀏覽記錄等相應(yīng)的功能,如果是會(huì)員還要完成記錄會(huì)員積分、提現(xiàn)、折扣、會(huì)員級(jí)別變動(dòng)等功能;實(shí)現(xiàn)精準(zhǔn)化廣告投放時(shí)需要根據(jù)用戶特征計(jì)算用戶的消費(fèi)偏好,則可以做以下設(shè)計(jì)完成遵循接口隔離原則。

在這里插入圖片描述

這樣設(shè)計(jì),普通消費(fèi)者無需實(shí)現(xiàn)會(huì)員接口,符合接口隔離原則;

同時(shí)在做精準(zhǔn)推送時(shí),只需要通過“精準(zhǔn)推送”接口定義對(duì)象變量;做會(huì)員相關(guān)操作時(shí),只需使用會(huì)員接口定義對(duì)象變量,而不是所有的內(nèi)容通過消費(fèi)用戶定義相關(guān)對(duì)象變量,代碼的可讀性大大提高。

拓展

1.接口分離原則也是確?!伴_-閉”原則的一個(gè)重要手段;模塊相對(duì)獨(dú)立,通信盡可能少,這樣當(dāng)一個(gè)模塊修改時(shí),對(duì)別的模塊的影響很小。
2. 代碼清晰易懂,里氏替換和依賴倒置原則更易使用。
3. 語義更加清晰,準(zhǔn)確。(如:家里電路需要處理,我們會(huì)在勞動(dòng)力市場找電工(小接口),而不是說找個(gè)工人(大接口),這樣語義更加清晰,準(zhǔn)確)

以上就是java面向?qū)ο笤O(shè)計(jì)原則之接口隔離原則示例詳解的詳細(xì)內(nèi)容,更多關(guān)于java面向?qū)ο笤O(shè)計(jì)原則的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MyBatis中SqlSession實(shí)現(xiàn)增刪改查案例

    MyBatis中SqlSession實(shí)現(xiàn)增刪改查案例

    這篇文章主要介紹了MyBatis中SqlSession實(shí)現(xiàn)增刪改查案例,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • 使用Apache Ignite實(shí)現(xiàn)Java數(shù)據(jù)網(wǎng)格

    使用Apache Ignite實(shí)現(xiàn)Java數(shù)據(jù)網(wǎng)格

    今天我們來探討如何使用Apache Ignite來實(shí)現(xiàn)Java數(shù)據(jù)網(wǎng)格,Apache Ignite是一個(gè)高性能的內(nèi)存計(jì)算平臺(tái),它提供了分布式緩存、數(shù)據(jù)網(wǎng)格和計(jì)算功能,可以顯著提高大規(guī)模應(yīng)用的數(shù)據(jù)處理性能,感興趣的小伙伴跟著小編一起來看看吧
    2024-08-08
  • Java實(shí)現(xiàn)對(duì)兩個(gè)List快速去重并排序操作示例

    Java實(shí)現(xiàn)對(duì)兩個(gè)List快速去重并排序操作示例

    這篇文章主要介紹了Java實(shí)現(xiàn)對(duì)兩個(gè)List快速去重并排序操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java針對(duì)list的遍歷、去重、排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Java?WorkBook對(duì)Excel的基本操作方法

    Java?WorkBook對(duì)Excel的基本操作方法

    這篇文章主要介紹了Java?WorkBook對(duì)Excel的基本操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Intellij IDEA中一次性折疊所有Java代碼的快捷鍵設(shè)置

    Intellij IDEA中一次性折疊所有Java代碼的快捷鍵設(shè)置

    這篇文章主要介紹了Intellij IDEA中一次性折疊所有Java代碼的快捷鍵設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解SpringBoot如何統(tǒng)一后端返回格式

    詳解SpringBoot如何統(tǒng)一后端返回格式

    今天我們來聊一聊在基于SpringBoot前后端分離開發(fā)模式下,如何友好的返回統(tǒng)一的標(biāo)準(zhǔn)格式以及如何優(yōu)雅的處理全局異常,感興趣的可以了解一下
    2021-07-07
  • RabbitMQ消息隊(duì)列之持久化機(jī)制詳解

    RabbitMQ消息隊(duì)列之持久化機(jī)制詳解

    這篇文章主要介紹了RabbitMQ消息隊(duì)列之持久化機(jī)制詳解,持久化,即將原本存在于內(nèi)存中的數(shù)據(jù)寫入到磁盤上永久保存數(shù)據(jù),防止服務(wù)宕機(jī)時(shí)內(nèi)存數(shù)據(jù)的丟失,Rabbitmq 的持久化分為隊(duì)列持久化、消息持久化和交換器持久化,需要的朋友可以參考下
    2023-08-08
  • SpringAOP如何修改請(qǐng)求參數(shù)列表

    SpringAOP如何修改請(qǐng)求參數(shù)列表

    這篇文章主要介紹了SpringAOP如何修改請(qǐng)求參數(shù)列表問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • [Java]詳解Socket和ServerSocket學(xué)習(xí)筆記

    [Java]詳解Socket和ServerSocket學(xué)習(xí)筆記

    即時(shí)類應(yīng)用或者即時(shí)類的游戲,HTTP協(xié)議很多時(shí)候無法滿足于我們的需求,這會(huì),Socket對(duì)于我們來說就非常實(shí)用了。本篇文章主要介紹了Socket和ServerSocket,有興趣的可以了解一下。
    2016-12-12
  • java lambda循環(huán)_使用Java 8 Lambda簡化嵌套循環(huán)操作

    java lambda循環(huán)_使用Java 8 Lambda簡化嵌套循環(huán)操作

    這篇文章主要介紹了java lambda循環(huán)_使用Java 8 Lambda簡化嵌套循環(huán)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評(píng)論

嘉定区| 无锡市| 长阳| 凯里市| 福安市| 长兴县| 双柏县| 邢台县| 黄龙县| 宝兴县| 荃湾区| 苏尼特左旗| 乐业县| 武鸣县| 洛南县| 阜康市| 蒙山县| 建阳市| 香港 | 樟树市| 佛冈县| 闽清县| 班玛县| 抚州市| 中方县| 手机| 巍山| 长丰县| 安远县| 荥经县| 云龙县| 西昌市| 铜山县| 青河县| 四子王旗| 钟山县| 寿宁县| 宜丰县| 丹凤县| 株洲县| 友谊县|