java设计模式之设计原则④接口隔离原则
定義:
(1)用多個專門的接口,而不使用單一的總接口,客戶端不應該依賴它不需要的接口。
(2)一個類對一個類的依賴應該建立在最小的接口上。
(3)建立單一接口,不要建立龐大臃腫的接口。
(4)盡量細化接口,接口中的方法盡量少。
(5)注意適度原則,一定要適度。
優點:
符合常說的高內聚低耦合的設計思想,從而使得類具有很好的可讀性,可擴展和可維護性。
以下通過案例進行理解接口隔離原則
首先創建一個IAnimalAction接口(動物的行為接口)
然后創建一個實現類Dog來實現IAnimalAction,
對于Dog來說不會fly飛所以就會有一個空的實現
在寫一個實現類Bird實現IAnimalAction,其中有的鳥會飛有的不會,所以在這個類中也會有空的實現
關于上面這樣的情況我們在開發中也經常遇到,對于一個接口里面聲明的東西過多,并且它們是不同類型的,也就是它們這個接口還可以更近一步的細化,然后我們通過實現來實現單個或多個的接口來進行編寫。
類圖如下:
只要實現IAnimalAction,它的三個方法都是必然要實現的。
現在把這個版本進行演進。
聲明一個IFlyAnimalAction接口,只有一個fly方法
再聲明一個IEatAnimalAction接口,只有一個eat方法
再聲明一個ISwimAnimalAction接口,只有一個swim方法
然后我們在寫Dog類的時候就可以選擇實現哪些接口,比如說它可以吃飯,可以游泳。所以Dog類實現IEatAnimalAction和ISwimAnimalAction這兩個接口。
類圖如下:
接口隔離原則和單一職責原則看起來很像,但是它們是不一樣的。
區別: 單一職責原則指的是類,接口和方法的職責是單一的,強調的是職責,也就是說在一個接口里只要職責是單一的,有多個方法也可以,針對的是程序中的實現和細節。
而接口隔離原則注重的是對接口隔離,主要約束的是接口,是針對抽象,針對程序整體框架的一個構建。
總結
以上是生活随笔為你收集整理的java设计模式之设计原则④接口隔离原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PC电脑看电视 / 电视直播 / 高清频
- 下一篇: java设计模式之设计原则⑤迪米特原则