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

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

科技分類資訊推薦

OPPO Reno14 系列亮相,實況照片體驗再進化 - 天天要聞

OPPO Reno14 系列亮相,實況照片體驗再進化

OPPO 正式發布新一代科技潮品 Reno14 系列,首發流光幻影工藝,打造全新潮流 "人魚姬" 配色 。Reno14 系列集高清長焦實況照片、4K 視頻轉實況照片、閃光實況照片等多種潮流玩法於一身....
多巴胺風暴來襲!vivo S30系列攜活力美學燃爆初夏 - 天天要聞

多巴胺風暴來襲!vivo S30系列攜活力美學燃爆初夏

當手機不再只是通訊工具,而是個性表達的潮流符號,vivo S系列再次引領年輕化設計浪潮。近日,vivo官方正式宣布:全新vivo S30系列新品發布會將於5月29日晚盛大啟幕,一場關於色彩、輕薄與科技的狂歡即將上演!
算力衛星上天組網,有望受益11家企業介紹 - 天天要聞

算力衛星上天組網,有望受益11家企業介紹

數字時代我們如何準確認知這個世界?算力上天在軌組網激活了哪些產業鏈環節?兄弟們,最近幾天在酒泉第一組12顆太空超算衛星成功發射組網了。這幾天很多博主已經告訴我們這個東西有多牛,這不我都在腦補未來可以實現的幾十種場景了。前段時間不是都是炒作深
華為nova14系列正式亮相,史上最強nova搭載紅楓多光譜原色鏡頭 - 天天要聞

華為nova14系列正式亮相,史上最強nova搭載紅楓多光譜原色鏡頭

【TechWeb】5月19日,在nova 14系列及鴻蒙電腦新品發布會上,華為nova 14系列手機正式亮相,並在影像力方面帶來全新升級,nova系列自2016年誕生以來,始終以人像攝影為自身核心發展方向之一,並以持續不斷地軟硬體協同創新,讓每代產品在移動影像方面帶來極為出色的表現。隨著多年來穩紮穩打的發展,華為nova系列帶來多個影...
「零感知」併網!湖北荊州為迎峰度夏早準備 - 天天要聞

「零感知」併網!湖北荊州為迎峰度夏早準備

極目新聞記者 高偉通訊員 胡斌「天氣漸漸熱起來了,我們及時開展中壓發電車併網演練,為即將到來的迎峰度夏保電早做準備。」國網荊州供電公司配電部負責人謝燦明告訴極目新聞記者。近日,荊州供電公司在荊州市經開區,開展了一場中壓發電車同期併網接入迎峰度夏應急演練。應急演練現場演練現場,兩台絕緣斗臂車、一台3000千...
鴻蒙電腦登場,1000+應用適配+跨端協同,能否撼動操作系統市場格局? - 天天要聞

鴻蒙電腦登場,1000+應用適配+跨端協同,能否撼動操作系統市場格局?

【環球網科技報道 記者 張陽】長期以來,電腦作為我們重要的生產力工具,其核心操作系統市場卻幾乎完全掌握在微軟的Windows和蘋果的MacOS手中。直至2025年5月19日,華為在nova 14系列及鴻蒙電腦發布會上,正式發布全新鴻蒙電腦HUAWEI MateBook Pro與非凡大師家族全新成員HUAWEI MateBook Fold非凡大師,鴻蒙電腦的正