介面隔離原則(inte***ce segregation principle, isp)是指用多個專門的介面,而不使 用單一的總介面,客戶端不應該依賴它不需要的介面。這個原則指導我們在設計介面時 應當注意一下幾點:
1、乙個類對一類的依賴應該建立在最小的介面之上。
2、建立單一介面,不要建立龐大臃腫的介面。
3、盡量細化介面,介面中的方法盡量少(不是越少越好,一定要適度)。
介面隔離原則符合我們常說的高內聚低耦合的設計思想,從而使得類具有很好的可讀性、可擴充套件性和可維護性。我們在設計介面的時候,要多花時間去思考,要考慮業務模型,
包括以後有可能發生變更的地方還要做一些預判。所以,對於抽象,對業務模型的理解 是非常重要的。
public inte***ce ianimal
public class bird implements ianimal
@override
public void fly() {}
@override
public void swim() {}
}
可以看出,bird 的 swim()方法可能只能空著,dog 的 fly()方法顯然不可能的。這時候, 我們針對不同動物行為來設計不同的介面,分別設計 ieatanimal,iflyanimal 和 iswimanimal 介面,來看**
《設計模式》 原則四 介面隔離原則(ISP)
啊!天氣很熱啊,回來洗個澡,做個飯吃完後 又出了一身汗,真後悔先洗澡。加油堅持學習,今天要學的是 介面隔離原則 意思是說 在設計的時候使用多個專門的介面比使用乙個總的介面好很多。乙個類對另乙個類的依賴關係應該建立到最小介面上。啊,這個好像比較好理解哈,就是在設計程式的時候 要學會使用介面程式設計。但...
設計模式 2 介面隔離原則
介面 inte ce inte ce1 class bimplements inte ce1 public void operation2 public void operation3 public void operation4 public void operation5 class dimpl...
設計模式 二 介面隔離原則
要求程式設計師盡量將臃腫龐大的介面拆分成更小的和更具體的介面,讓介面中只包含客戶端感興趣的方法。客戶端不應該被迫依賴於它不使用的方法。即,乙個類對另乙個類的依賴應該建立在最小的介面上。上面的說法可能比較籠統,難以理解。下面就舉例說明 a類中的某個方法或者建構函式,引數需要傳入乙個介面實現類b,這就是...