介面隔離原則 是時候深入學習一下「介面隔離原則」了

2021-10-12 08:49:47 字數 1495 閱讀 8367

隨著天氣越來越熱,大家是不是都已經過上「左手小冰棍,右手大西瓜,吹著小空調,樂的笑哈哈」的日子了?不過還是要在這裡提醒大家一下,冷飲、空調雖然好,但是一定要適度啊!

這不最近菜鳥就因為歡樂過度,樂極生悲了,急性腸胃炎找上了。拉肚子,拉到懷疑人生,上廁所,上到頭皮發麻,整個人都已經虛脫了。所以大家一定要多多注意,千萬別跟菜鳥一樣吃壞肚子。

專業解釋:

1、客戶端不應該依賴它不需要的介面。

2、乙個類對另乙個類的依賴應該建立在最小的介面上。

是不是有種雨裡霧裡的感覺?這就對了,只有不好理解才能稱得上專業嗎!

好了好了,開玩笑啦!讓菜鳥來解釋一下。

乙個介面只應該被賦予一種職責(角色),不可以將不同職責都交給乙個介面。

介面隔離原則的好處

1、單一化介面的職責,從而有效地避免介面汙染。2、當乙個介面的方法過多,往往會造成使用該介面的類中閒置一些方法,造成**的冗餘,通過細分介面可有效避免該現象。3、可以提高**的靈活性,就好比搭積木一樣,我們可以將乙個大的介面拆成多個小介面,不同的小介面可以有多種組合。4、促使程式高內聚、低耦合。

注意:細化介面雖好,但是也不可一味地盲目拆分,不然會增加介面的數量,提高系統的維護成本。先展示一下未遵守介面隔離原則的**

public inte***ce school
如上**,假設此時有乙個people類,它的角色是學生,實現了school介面。它就會被迫實現「講課」這個方法,事實它是不需要該方法的。這就造成了**的冗餘,使我們的**變得臃腫。

按照介面隔離原則,我們可以將上面的大介面拆分成3個小的介面。

學校介面:

public inte***ce school
老師介面:

public inte***ce teacher
學生介面:

public inte***ce student
通過上面的拆分我們就可以有效避免冗餘**的產生,進而還可以促使我們的**變得更加靈活。

以上就菜鳥對介面隔離原則的一點自己的看法,如果文章那裡寫的不合理的希望大家可以提出來。還有一點需要提醒大家的就是:凡事都是利弊共存,我們需要學會權衡利弊,找到最優的解決方法,促使程式變得更加的優秀。好了今天的分享就到這裡了,感覺文章寫得還不錯的記得給點讚加關注呦,最後祝大家週末愉快!

學習介面設計原則 介面隔離原則

package com.mode 介面中的方法盡量少。也就是說,我們要為各個類建立專用的介面,而不要試圖去建立乙個很龐大的介面供所有依賴它的類去呼叫。本例子中,將乙個龐大的介面變更為3個專用的介面所採用的就是介面隔離原則。採用介面隔離原則對介面進行約束時,要注意以下幾點 1.介面盡量小,但是要有限度...

深入學習TCP套介面

基本tcp套介面編 網路i o 雖然都知道套介面可以完成兩個主機之間的網路通訊,但也就只是知道,有很多已經寫好的 我們直接copy一些就可以用了,但是!你理解他為何這樣用麼?tcp udp又到底是啥?tcp udp又是怎麼和socket聯絡在一起的?tcp三次握手又是如何產生的?今天我們就先來談談t...

Laravel深入學習12 依賴倒置原則

我們來到了solid設計原則的最終的目標遠景!它就是依賴反轉原則,它是指高階 不能依賴低階 相應的,高階 應該依賴乙個抽象層,它是在高階 和低階 之間的 中間人 角色。另一方面,該原則指代抽象層不依賴具體實現,而是細節依賴抽象。如果這個讀起來很晦澀,別擔心。我們下面會對這兩個方面具體的闡述本原則。依...