日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java设计模式之设计原则④接口隔离原则

發布時間:2023/12/31 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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设计模式之设计原则④接口隔离原则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。