設計模式七大原則之介面隔離原則

2022-09-18 18:15:14 字數 2527 閱讀 7053

基本介紹

客戶端不應該依賴它不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上

先看一張圖:

類a通過介面inte***ce1依賴類b,類c通過介面inte***ce1依賴類d,如果介面inte***ce1對於類a和類c來說不是最小介面,那麼類b和類d必須去實現他們不需要的方法。

按隔離原則應當這樣處理:

將介面inte***ce1拆分為獨立的幾個介面,類a和類c分別與他們需要的介面建立依賴關係。也就是採用介面隔離原則

傳統方法應用例項

類a通過介面inte***ce1依賴類b, 類c通過介面inte***ce1依賴類d,請編寫**完成此應用例項。

先看一張圖:

介面inte***ce

inte***ce1

class b implements

inte***ce1

public

void

operation2()

public

void

operation3()

public

void

operation4()

public

void

operation5()

}class d implements

inte***ce1

public

void

operation2()

public

void

operation3()

public

void

operation4()

public

void

operation5()

}class a

public

void

depend2(inte***ce1 i)

public

void

depend3(inte***ce1 i) }

class c

public

void

depend4(inte***ce1 i)

public

void

depend5(inte***ce1 i)

}類a通過介面inte***ce1依賴類b,類c通過介面inte***ce1依賴類d,如果介面

inte***ce1對於類a和類c來說不是最小介面,那麼類b和類d必須去實現他們不

需要的方法

將介面inte***ce1拆分為獨立的幾個介面,類a和類c分別與他們需要的介面建立依賴關係。也就是採用介面隔離原則

介面inte***ce1**現的方法,根據實際情況拆分為三個介面

先看一張圖

介面1inte***ce

inte***ce1

//介面2

inte***ce

inte***ce2

//介面3

inte***ce

inte***ce3

class b implements

inte***ce1, inte***ce2

public

void

operation2()

public

void

operation3()

}class d implements

inte***ce1, inte***ce3

public

void

operation4()

public

void

operation5()

}class a

public

void

depend2(inte***ce2 i)

public

void

depend3(inte***ce2 i)

}class c

public

void

depend4(inte***ce3 i)

public

void

depend5(inte***ce3 i)

}

設計模式七大原則之介面隔離原則

乙個類對另乙個類的依賴應該建立在最小的介面上,如果建立在不是最小的介面上,則要實現不需要的方法違背介面隔離原則。場景 inte ce1是乙個介面,有五個方法,c和d分別實現了inte ce1介面,a通過inte ce1對c產生依賴,但只需要用到function1,function2,function...

設計模式七大原則之介面隔離原則(ISP)

介面隔離原則基本介紹 不應該依賴不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上。場景 1.類b實現介面inte ce1 類a通過介面inte ce1依賴 使 用 類b,但是只會用到1,2,3方法 2.類d實現介面inte ce1 類c通過介面inte ce1依賴 使 用 類d,但是只會...

02 設計模式七大原則 介面隔離原則

客戶端不應該依賴他不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上 package study.wyy.design.principle.segregation author by wyaoyao description date 2020 10 13 8 30 下午 public cl...