iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1
自我挑戰組

【從工程師升級成為資深工程師的那檔事】 系列 第 5

【從工程師升級成為資深工程師的那檔事 Day5】SOLID 五大原則 - 介面隔離原則

  • 分享至 

  • xImage
  •  

在上一篇SOLID 五大原則 - 里氏替換原則對子型別做了一些規範,
這篇接著分享對於介面(Interface)的規範。

定義

No client should be forced to depend on methods it does not use.

這段也算是五大原則中比較好理解的,直翻的話就是 沒有用戶應該被迫依賴不需要使用的方法
大意就是 用戶不應該依賴不需要的方法

這邊跟里氏替換原則對於父型別的規範有異曲同工之妙。
在建立介面(Interface)的時候需要審視對於用戶(Client,在程式中通常是指使用到這介面的地方)來說,
介面中所包裝的方法是否是最小集合
在開發上我們可以簡單理解為介面中出現的東西,請全部給我用上

用途

在大型專案中,介面隔離原則的使用有兩個非常實用的用處

  1. 提升編譯速度
  2. 方便閱讀

當專案越來越大時,編譯的時間通常也是指數型的增長,
每當做一點修改就需要花數分鐘甚至到數小時重新編譯。
透過遵循介面隔離原則(ISP)來減少用戶端的依賴,
進而降低編譯時所需花費的時間。

另一方面在開發上,遵循介面隔離原則(ISP)可以讓後續開發的人,
可以透過閱讀介面快速地了解程式上的功能。

結語

當然,我們可以說介面隔離原則目的是系統解開耦合,進而更便利的重構及修改。
不過在這邊還是希望能分享一些教科書以外,在開發中比較常見的用途。


上一篇
【從工程師升級成為資深工程師的那檔事 Day4】SOLID 五大原則 - 里氏替換原則
下一篇
【從工程師升級成為資深工程師的那檔事 Day6】SOLID 五大原則 - 依賴反轉原則
系列文
【從工程師升級成為資深工程師的那檔事】 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言