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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )

發布時間:2025/6/17 asp.net 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、接口隔離原則簡介
  • 二、接口隔離原則代碼示例 ( 反面示例 )
    • 1、接口定義 ( 接口臃腫 )
    • 2、實現類 1
    • 3、實現類 2
  • 三、接口隔離原則代碼示例 ( 推薦用法 )
    • 1、接口 1
    • 2、接口 2
    • 3、接口 3
    • 4、接口 4
    • 5、實現類





一、接口隔離原則簡介



接口隔離原則 :多個 專門的 接口 , 不使用 單一 的總接口 , 客戶端 不應該依賴不需要的 接口 ;

一個類 對 另一個類 的依賴 , 應該建立在 最小接口 上 ; 如果 有一個 大接口 , 里面有 很多方法 , 如果使用一個類 實現該接口 , 所有的類都要實現 ;

建立 功能 單一接口 , 不要建立 龐大 臃腫 的接口 ;

盡量細化接口 , 接口中的方法盡量少 ;


接口設計適度原則 : 接口隔離原則 中 最重要的就是 注意 適度原則 , 一定要適度 ;

接口設計的 過大 , 過小 , 都不合適 ; 設計接口時 , 多花時間去思考策劃 ;

接口方法 盡量少 , 但要有限度 , 對接口進行細化 , 肯定能 提高系統設計的靈活性 , 但是如果 接口設計的過小 , 方法過少 , 則會 造成接口數量過多 , 提高整個程序設計的復雜性 ;


接口隔離原則 優點 : 符合 高內聚 , 低耦合設計思想 , 使得類具有很好的 可讀性 , 可擴展性 , 可維護性 ;

  • 降低耦合 : 平時設計接口時 , 只暴露客戶端需要的方法 , 客戶端不需要的方法 , 直接隱藏起來 ; 只有專注的為一個模塊提供定制服務 , 才能 建立最小的依賴關系 , 這樣就降低了耦合程度 ;

  • 提高內聚 : 減少對外交互 , 使用接口中最少的方法 , 完成最多的事情 ;

實際開發中 , 實踐接口隔離原則時 , 也要根據業務場景 , 業務模型 , 以及以后有可能會發生變更的地方 , 對于這些做一些預判 , 抽象出業務模型很重要 ;





二、接口隔離原則代碼示例 ( 反面示例 )




1、接口定義 ( 接口臃腫 )


package interfacesegregation;/*** 動物行為接口* 該接口中聲明的方法過多 , 方法分屬于不同的類型* 該接口可以進一步細化*/ public interface IAnimationAction {void eat();void fly();void walk();void swim(); }

2、實現類 1


package interfacesegregation;/*** 定義 Dog 類 , 實現 IAnimationAction 接口* 需要實現該接口下的所有方法* 很明顯狗不能飛 , fly 方法只能空著 , 沒有實際意義*/ public class Dog implements IAnimationAction {@Overridepublic void eat() {}@Overridepublic void fly() {}@Overridepublic void walk() {}@Overridepublic void swim() {} }

3、實現類 2


package interfacesegregation;/*** 定義 Bird 類 , 實現 IAnimationAction 接口* 需要實現該接口下的所有方法* 很明顯鳥不能游泳 , swim 方法只能空著 , 沒有實際意義*/ public class Bird implements IAnimationAction {@Overridepublic void eat() {}@Overridepublic void fly() {}@Overridepublic void walk() {}@Overridepublic void swim() {} }



三、接口隔離原則代碼示例 ( 推薦用法 )




1、接口 1


package interfacesegregation;public interface IEatAnimalAction {void eat(); }

2、接口 2


package interfacesegregation;public interface IFlyAnimalAction {void fly(); }

3、接口 3


package interfacesegregation;public interface ISwimAnimalAction {void swim(); }

4、接口 4


package interfacesegregation;public interface IWalkAnimalAction {void walk(); }

5、實現類


package interfacesegregation;/*** 狗可以 吃 / 走路 / 游泳* 這里直接繼承 3 個對應的接口* 并實現接口中的方法** 細粒度接口可以組裝 , 粗粒度接口無法拆分*/ public class Dog implements IEatAnimalAction,IWalkAnimalAction,ISwimAnimalAction {@Overridepublic void eat() {}@Overridepublic void swim() {}@Overridepublic void walk() {} }

總結

以上是生活随笔為你收集整理的【设计模式】软件设计七大原则 ( 接口隔离原则 | 代码示例 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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