設計模式 介面隔離原則

2021-10-14 06:30:10 字數 1979 閱讀 9557

反例:

inte***ce inte***ce1
class b implements inte***ce1 

@override

public void operation2()

@override

public void operation3()

@override

public void operation4()

@override

public void operation5()

}

class d implements inte***ce1 

@override

public void operation2()

@override

public void operation3()

@override

public void operation4()

@override

public void operation5()

}

/**

* a類通過j介面inte***ce1依賴(使用)b類,但只會用到1,2,3方法

*/class a

public void dependency2(inte***ce1 i)

public void dependency3(inte***ce1 i)

}

/**

* c類通過j介面inte***ce1依賴(使用)d類,但只會用到1,4,5方法

*/class c

public void dependency4(inte***ce1 i)

public void dependency5(inte***ce1 i)

}

優化uml

**

inte***ce inte***ce1
inte***ce inte***ce2
inte***ce inte***ce3
class b implements inte***ce1,inte***ce2 

@override

public void operation2()

@override

public void operation3()

}

class d implements inte***ce1,inte***ce3 

@override

public void operation4()

@override

public void operation5()

}

/**

* a類通過j介面inte***ce1,inte***ce2依賴(使用)b類,但只會用到1,2,3方法

*/class a

public void dependency2(inte***ce2 i)

public void dependency3(inte***ce2 i)

}

/**

* c類通過j介面inte***ce1,inte***ce3依賴(使用)d類,但只會用到1,4,5方法

*/class c

public void dependency4(inte***ce3 i)

public void dependency5(inte***ce3 i)

}

設計模式 (介面隔離原則)

介面有兩種型別 建立單一介面,介面盡量要細化,同時介面中的方法盡量少 這回可能會有人問了,這跟單一職責原則不是相同的嗎 單一職責要求的是類和介面職責單一,強調的是職責,業務邏輯上的劃分 介面隔離要求介面的方法盡量少,需要盡量使用多個專門介面 下面舉個例子來說明 車的好壞都是口碑,質量和品牌 好車類 ...

設計模式 介面隔離原則

設計模式 介面隔離原則 用類圖說明 然後書寫 清單 public inte ce ipettygirl接著,使用具體的類實現 public class pettygirl implements ipettygirl 臉 public void goodlooking 氣質 public void n...

設計模式之介面隔離原則

基本介紹 客戶端不應該依賴它不需要的介面,即乙個類對另乙個類的依賴應該建立在最小的介面上 應用例項 例1 public class segregation1 inte ce inte ce1 class b implements inte ce1 override public void opera...