介面隔離原則,這個原則最關鍵就是理解其中「介面」的含義,不同的理解方式,對應的在原則上也有不同的解讀方式。除此之外,介面隔離原則和單一職責原則有些類似,需要了解它們的區別和聯絡
介面隔離原則,英文名ite***ce segregation principle,簡稱isp。客戶端不應強迫它不需要的介面。這裡的客戶端可以理解為呼叫者或者使用者。
如果把「介面」理解為一組介面的集合,可以是某個微服務的介面,也可以是某個類庫的介面等。如果部分介面只被部分呼叫者使用,我們需要將著部分介面隔離出來,單獨給這部分呼叫者使用,而不是強迫其它呼叫者也依賴這部分不會被呼叫的介面。
如果把「介面」理解為單個api介面或者函式,部分呼叫者只需要呼叫函式的部分功能,那我們需要把函式拆分成粒度更細的多個函式,讓呼叫者只依賴它需要的那個細粒度函式。
如果把「介面」理解為oop中的介面。也可以理解為物件導向中的介面語法。那介面的設計要盡量單一,不要讓介面的實現類和呼叫者,依賴不需要的介面函式。
單一職責原則針對的是模組、類、介面的設計。介面隔離原則相對於單一職責原則,一方面更側重於介面的設計,另一方面它思考的角度也是不同的。介面隔離原則提供了一種判斷介面的職責是否單一的標準;通過呼叫者如何使用介面來間接的判定。如果呼叫者使用部分介面或者部分功能,那介面的設計職責不夠單一。
參考:設計模式之美--王爭
設計原則之介面隔離原則
定義 客戶端不應該依賴它不需要的介面 類間的依賴關小應該建立在最小的介面上 什麼是介面?1.例項介面 person zhangsan newperson 類person就是zhangsan的例項介面。2.類介面,就是通常意義上,用inte ce關鍵字定義的介面。解釋 根據介面隔離原則的定義 事實上就...
設計原則之介面隔離原則
2.新建乙個手機類mobile和乙個座機類phone,分別來實現介面icommon。如下 5.在類ispfragment中分別使用類wealthman和類poorman,實現富人使用手機和窮人使用座機的效果。如下 6.執行後的效果,如下 以上實現方式可以看出,對於手機類mobile和座機類phone...
學習介面設計原則 介面隔離原則
package com.mode 介面中的方法盡量少。也就是說,我們要為各個類建立專用的介面,而不要試圖去建立乙個很龐大的介面供所有依賴它的類去呼叫。本例子中,將乙個龐大的介面變更為3個專用的介面所採用的就是介面隔離原則。採用介面隔離原則對介面進行約束時,要注意以下幾點 1.介面盡量小,但是要有限度...