欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

概念

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

在這里插入圖片描述

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

在這里插入圖片描述

實現(xiàn)

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

在這里插入圖片描述

這樣設計,普通消費者無需實現(xiàn)會員接口,符合接口隔離原則;

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

拓展

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

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

相關文章

  • 詳解java開啟異步線程的幾種方法(@Async,AsyncManager,線程池)

    詳解java開啟異步線程的幾種方法(@Async,AsyncManager,線程池)

    在springboot框架中,可以使用注解簡單實現(xiàn)線程的操作,還有AsyncManager的方式,如果需要復雜的線程操作,可以使用線程池實現(xiàn),本文通過實例代碼介紹java開啟異步線程的幾種方法(@Async,AsyncManager,線程池),感興趣的朋友一起看看吧
    2023-09-09
  • mybatis-plus中的常用注解

    mybatis-plus中的常用注解

    這篇文章主要介紹了mybatis-plus中的常用注解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • idea2020.1.3 手把手教你創(chuàng)建web項目的方法步驟

    idea2020.1.3 手把手教你創(chuàng)建web項目的方法步驟

    這篇文章主要介紹了idea 2020.1.3 手把手教你創(chuàng)建web項目的方法步驟,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • maven依賴包加載緩慢的原因以及解決方案

    maven依賴包加載緩慢的原因以及解決方案

    這篇文章主要介紹了maven依賴包加載緩慢的原因以及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • IDEA不編譯除了.java之外的文件的解決辦法(推薦)

    IDEA不編譯除了.java之外的文件的解決辦法(推薦)

    這篇文章主要介紹了IDEA不編譯除了.java之外的文件的解決辦法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • idea?maven依賴引入失效無法正常導入依賴問題的解決方法

    idea?maven依賴引入失效無法正常導入依賴問題的解決方法

    有時候idea導入一個新項目,或者pom文件修改(新增)了依賴,pom文件和代碼會報紅,提示依賴包不存在,下面這篇文章主要給大家介紹了關于idea?maven依賴引入失效無法正常導入依賴問題的解決方法,需要的朋友可以參考下
    2023-04-04
  • Java實現(xiàn)簡單的掃雷小程序

    Java實現(xiàn)簡單的掃雷小程序

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單的掃雷小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Maven項目部署到Jboss出現(xiàn)Failed to create a new SAX parser

    Maven項目部署到Jboss出現(xiàn)Failed to create a new SAX parser

    這篇文章主要為大家詳細介紹了Maven項目部署到Jboss出現(xiàn)Failed to create a new SAX parser的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 關于Spring Boot獲取bean的3種方式

    關于Spring Boot獲取bean的3種方式

    這篇文章主要介紹了關于Spring Boot獲取bean的3種方式,在spring中ApplicationContext這個上下文對象是獲取bean的基礎,需要的朋友可以參考下
    2023-04-04
  • 基于Java實現(xiàn)連連看游戲的示例代碼

    基于Java實現(xiàn)連連看游戲的示例代碼

    連連看游戲顧名思義就是找出具有關聯(lián)關系的事物并進行相應處理。本文將用java語言實現(xiàn)這一經(jīng)典游戲,采用了swing技術(shù)進行了界面化處理,感興趣的可以了解一下
    2022-09-09

最新評論