}//介面
inte***ce
inte***ce1
class
bimplements
inte***ce1
public
void
operation2()
public
void
operation3()
public
void
operation4()
public
void
operation5()
}class
dimplements
inte***ce1
public
void
operation2()
public
void
operation3()
public
void
operation4()
public
void
operation5()
}class
apublic
void
depend2
(inte***ce1 i)
public
void
depend3
(inte***ce1 i)
}class
cpublic
void
depend4
(inte***ce1 i)
public
void
depend5
(inte***ce1 i)
}如果沒有隔離介面,所有的介面在乙個類中,可以看到b和d必須實現所有的介面
package com.atguigu.principle.segregation.improve;
public
class
segregation1
}// 介面1
inte***ce
inte***ce1
// 介面2
inte***ce
inte***ce2
// 介面3
inte***ce
inte***ce3
class
bimplements
inte***ce1
, inte***ce2
public
void
operation2()
public
void
operation3()
}class
dimplements
inte***ce1
, inte***ce3
public
void
operation4()
public
void
operation5()
}class
apublic
void
depend2
(inte***ce2 i)
public
void
depend3
(inte***ce2 i)
}class
cpublic
void
depend4
(inte***ce3 i)
public
void
depend5
(inte***ce3 i)
}
可以看到b和d不必實現所有的介面了,a和d也只獲得了自己想要的介面而已
.
完
設計模式 二 介面隔離原則
要求程式設計師盡量將臃腫龐大的介面拆分成更小的和更具體的介面,讓介面中只包含客戶端感興趣的方法。客戶端不應該被迫依賴於它不使用的方法。即,乙個類對另乙個類的依賴應該建立在最小的介面上。上面的說法可能比較籠統,難以理解。下面就舉例說明 a類中的某個方法或者建構函式,引數需要傳入乙個介面實現類b,這就是...
《設計模式》 原則四 介面隔離原則(ISP)
啊!天氣很熱啊,回來洗個澡,做個飯吃完後 又出了一身汗,真後悔先洗澡。加油堅持學習,今天要學的是 介面隔離原則 意思是說 在設計的時候使用多個專門的介面比使用乙個總的介面好很多。乙個類對另乙個類的依賴關係應該建立到最小介面上。啊,這個好像比較好理解哈,就是在設計程式的時候 要學會使用介面程式設計。但...
設計原則三 介面隔離原則
介面隔離原則 inte ce segregation principle,isp 是指用多個專門的介面,而不使 用單一的總介面,客戶端不應該依賴它不需要的介面。這個原則指導我們在設計介面時 應當注意一下幾點 1 乙個類對一類的依賴應該建立在最小的介面之上。2 建立單一介面,不要建立龐大臃腫的介面。3...