設計模式之美十六:介面隔離原則有哪三種應用?介面該如何理解

2020年02月04日11:48:21 科技 1633

王爭《設計模式之美》筆記

如何理解「介面隔離原則」?

介面隔離原則的英文翻譯是「 Interface Segregation Principle」,縮寫為ISP。意思是:客戶端不應該強迫依賴它不需要的介面。其中的「客戶端」,可以理解為介面的調用者或者使用者。

理解介面隔離原則的關鍵,就是理解其中的「介面」二字。在這條原則中,我們可以把「介面」理解為下面三種東西:

  • 一組 API 介面集合
  • 單個 API 介面或函數
  • OOP 中的介面概念

把「介面」理解為一組 API 介面集合

UserService中添加刪除用戶功能時,新加RestrictedUserService給特定用戶使用。

把「介面」理解為單個 API 介面或函數

把「介面」理解為 OOP 中的介面概念

通過RedisConfig、 MysqlConfig、KafkaConfig的熱更新和在頁面上展示,說明了符合介面隔離原則的代碼:

1.設計思路更加靈活、易擴展、易復用

2.不符合的設計思路在代碼實現上做了一些無用功

重點回顧

1. 如何理解「介面隔離原則」?

理解「介面隔離原則」的重點是理解其中的「介面」二字。這裡有三種不同的理解。

如果把「介面」理解為一組介面集合,可以是某個微服務的介面,也可以是某個類庫的介面等。如果部分介面只被部分調用者使用,我們就需要將這部分介面隔離出來,單獨給這部分調用者使用,而不強迫其他調用者也依賴這部分不會被用到的介面。

如果把「介面」理解為單個 API 介面或函數,部分調用者只需要函數中的部分功能,那我 們就需要把函數拆分成粒度更細的多個函數,讓調用者只依賴它需要的那個細粒度函數。

如果把「介面」理解為 OOP 中的介面,也可以理解為面向對象編程語言中的介面語法。那介面的設計要盡量單一,不要讓介面的實現類和調用者,依賴不需要的介面函數。

2. 介面隔離原則與單一職責原則的區別

單一職責原則針對的是模塊、類、介面的設計。介面隔離原則相對於單一職責原則,一方面更側重於介面的設計,另一方面它的思考角度也是不同的。介面隔離原則提供了一種判斷介面的職責是否單一的標準:通過調用者如何使用介面來間接地判定。如果調用者只使用部分介面或介面的部分功能,那介面的設計就不夠職責單一。

參考:https://time.geekbang.org/column/intro/250?code=gLit0LpsKZQ6vOVqS1htGOSAKYLCYeMuklw2dwajH-4%3D

科技分類資訊推薦

關鍵技術全系標配  從海豹06EV看比亞迪「大牌」風範 - 天天要聞

關鍵技術全系標配 從海豹06EV看比亞迪「大牌」風範

2025重慶國際車展開幕第一天(6月7日),比亞迪海洋網海豹06EV迎來了全新上市,作為純電動轎跑新車,3款配置的官方售價僅為10.98萬至12.98萬元。同時還可享包括致臻煥新、致臻互聯、致臻無憂、致臻延保及致臻充電等多重禮遇。
山城方盒子特惠,寶駿悅也 Plus 2026 款 7.68 萬起售 - 天天要聞

山城方盒子特惠,寶駿悅也 Plus 2026 款 7.68 萬起售

山城重慶,潮玩正當時。2025 年重慶車展不僅是車企競技的舞台,更是消費者探尋高性價比車型的絕佳契機。在這場萬眾矚目的盛會上,寶駿汽車以一場充滿活力的區域上市發布會,正式揭開了悅也 Plus 2026 款的神秘面紗。這款主打 「全能潮玩」 定位的純電 SUV,
智啟未來!特斯拉「花式」亮相2025重慶國際汽車展覽會 - 天天要聞

智啟未來!特斯拉「花式」亮相2025重慶國際汽車展覽會

6月7日, 2025第二十七屆重慶國際汽車展覽會(以下簡稱重慶國際車展)盛大啟幕,特斯拉將攜最新版人形機器人、賽博越野旅行車、中國製造Model 3與煥新Model Y亮相,展位號為N2館2T13。屆時,特斯拉將展示其最新的產品矩陣,全方位詮釋「智啟新程 潮領
阿維塔攜全系陣容亮相重慶車展,牌累計銷量突破15萬輛 - 天天要聞

阿維塔攜全系陣容亮相重慶車展,牌累計銷量突破15萬輛

6月7日,重慶汽車開幕。阿維塔攜全系陣容亮相,並宣布達成品牌累計銷量突破15萬輛的重要里程碑,產品平均售價超27萬元。這一成就不僅印證了阿維塔在激烈競爭的新能源市場中強勁的發展勢頭,更彰顯了中國品牌在高端市場的成功突圍。
長安汽車攜三大品牌閃耀重慶車展 數智成果領航未來出行生態 - 天天要聞

長安汽車攜三大品牌閃耀重慶車展 數智成果領航未來出行生態

6月7日,第二十七屆重慶國際汽車展覽會盛大開幕。作為重慶的龍頭車企,長安汽車以「智慧全球 共贏未來」為主題,攜長安、深藍、阿維塔三大品牌及長安福特、長安馬自達共同組成N8長安汽車專館並舉行了精彩的開館儀式。旗下熱門車型、數智成果及未來出行生態展品齊耀山城,形成
起亞品牌電影《所向由心》溫情上線 - 天天要聞

起亞品牌電影《所向由心》溫情上線

當鄉村教師帶著孩子們踏上更廣闊的追夢之旅,當不曾將愛宣之於口的父親用自己的愛車默默在背後支持女兒……那些有關愛與夢想的平凡瞬間,無不在詮釋著:真正的前行,從不是隨波逐流遠方的霓虹,而是堅定忠於內心的選擇。
中國越野技能分級標準,長城汽車「環塔歡樂周」啟幕 - 天天要聞

中國越野技能分級標準,長城汽車「環塔歡樂周」啟幕

6月2日,長城汽車「環塔歡樂周」活動在新疆喀什燃擎啟幕。本次環塔歡樂周,也是2025年環塔拉力賽完美落幕的激情接力和熱愛延續。今年的環塔賽場,長城車隊成績出色,其中長城坦克Hi4車隊斬獲廠商隊杯T2.E量產新能源組冠軍,長城哈弗車隊二代H9柴油版、猛龍燃油版,
三車齊發,東風品牌登陸粵港澳大灣區車展 - 天天要聞

三車齊發,東風品牌登陸粵港澳大灣區車展

5月31日,2025(第二十九屆)粵港澳大灣區車展暨第二屆中國新能源汽車科技展在深圳國際會展中心(寶安)拉開帷幕,東風乘用車攜東風風神、東風奕派、東風納米三大自主新能源品牌,以「科技東風 智繪灣區」為主題組團亮相N6號館東風品牌展台,不僅帶來了15款展車,還帶