七大設計原則 四 介面隔離原則

2021-09-22 18:39:07 字數 1878 閱讀 5984

定義用多個專門的介面,而不使用單一的總介面。客戶端不應該依賴它不需要的介面。

強調乙個類對乙個類的依賴應該建立在最小的介面上。

建立單一介面,不要建立龐大臃腫的介面。

盡量細化介面,介面中的方法盡量少。 優點

符合我們常說的高內聚低耦合的設計思想,從而使得類具有很好的可讀性、可擴充套件性和可維護性。

**實現

還是先以反例來說明,看乙個違背介面隔離原則的設計。

public

inte***ce

animal

定義了乙個動物的介面,接下來寫實現類。

public

class

smalldog

implements

animal

@override

public

void

swim()

@override

public

void

fly(

)}

public

class

smallbird

implements

animal

@override

public

void

swim()

@override

public

void

fly(

)}

可以仔細看上面的**,小狗實現了動物這個類,實現了裡面的方法,但是呢。有乙個空方法,這是小狗不需要實現的。不可能強迫人家小狗飛到天上吧?

小鳥的實現類和小狗一樣,難道讓小鳥跑到水裡游泳去嗎?這也太難為人家了。這就是介面設計的過於臃腫,只要介面**現的方法,不管對依賴於它的類有沒有用處,實現類中都必須去實現這些方法。

所以,為了避免這樣的情況發生,就要根據介面隔離原則,將介面抽離出來,使用多個統一的介面。

遵循介面隔離原則,重新實現上面的**。首先定義乙個吃東西的介面

public

inte***ce

ieatability

接著定義乙個游泳的介面

public

inte***ce

iswimability

最後定義飛的介面

public

inte***ce

iflyability

小狗只會吃東西和游泳,所以只用實現吃、游泳的介面。

public

class

dogimplements

ieatability

, iswimability

@override

public

void

swim()

}

小鳥只會吃東西和飛,所以只用實現吃、飛的介面。

public

class

bird

implements

ieatability

, iflyability

@override

public

void

fly(

)}

基本上介面隔離原則就完成了,這個原則相對簡單。但是在介面設計的時候也要注意,介面設計盡量小,但是一定要適度。設計的過小,會使系統複雜度增加,不利於維護。

成就一番偉業的唯一途徑就是熱愛自己的事業。如果你還沒能找到讓自己熱愛的事業,繼續尋找,不要放棄。跟隨自己的心,總有一天你會找到的。

《設計模式》 原則四 介面隔離原則(ISP)

啊!天氣很熱啊,回來洗個澡,做個飯吃完後 又出了一身汗,真後悔先洗澡。加油堅持學習,今天要學的是 介面隔離原則 意思是說 在設計的時候使用多個專門的介面比使用乙個總的介面好很多。乙個類對另乙個類的依賴關係應該建立到最小介面上。啊,這個好像比較好理解哈,就是在設計程式的時候 要學會使用介面程式設計。但...

六大設計原則 4 介面隔離原則

介面隔離原則 isp inte ce segregation principle 定義 1.客戶端不應該依賴它不需要的介面 2.乙個類對另乙個類的依賴應該建立在最小介面上。當我們設計乙個大的介面a,其子類b c為實現介面功能,可能不得不寫一些不需要的空的方法,而客戶端需要b的實現時必須通過a這個非最...

設計原則三 介面隔離原則

介面隔離原則 inte ce segregation principle,isp 是指用多個專門的介面,而不使 用單一的總介面,客戶端不應該依賴它不需要的介面。這個原則指導我們在設計介面時 應當注意一下幾點 1 乙個類對一類的依賴應該建立在最小的介面之上。2 建立單一介面,不要建立龐大臃腫的介面。3...