1. 程式人生 > >6大設計原則之介面隔離原則

6大設計原則之介面隔離原則

介面隔離原則的定義

什麼是介面.

  1. 例項介面,比如定義了一個Person類,然後 Person p = new Pserson(); 產生一個例項,Person類就是 p 的介面
  2. 類介面,就是Java中使用 interface 定義的介面

什麼是隔離

隔離要求將介面儘量細化,同時介面中的方法儘量少.

介面隔離原則的實現

比如現在有一個人,他身兼數職,是一個老師,要教書,是一個學生,要學習,類圖如下:

6大設計原則之介面隔離原則

 

如果有一天,他不在教書了,或者又有了新的職業,那我們還要修改呼叫該類的程式碼,更好的做法是將臃腫的介面變更為幾個獨立的介面

6大設計原則之介面隔離原則

 

在使用時的時候通過介面呼叫.介面是我們設計時對外提供的契約,通過分散定義多個介面,可以預防未來變更的擴散,提高系統的靈活性和可維護性.

介面的規範約束

  1. 介面要儘量小,這是介面隔離原則的核心定義,但是"小"是有限度的,首先就是不能違背單一職責原則.
  2. 介面要高內聚,高內聚就是提高介面、類、模組的處理能力,減少對外的互動.具體就是,要求在介面中儘量少公佈 public 方法,介面是對外的承諾,承諾越少對系統的開發越有利,變更的風險也就越少,同時也有利於降低成本
  3. 定製服務,定製服務就是單獨為一個個體提供優良的服務,只提供訪問者需要的方法
  4. 介面設計是有限度的,介面的設計粒度越小,系統越靈活.但是,靈活的同時也帶來了結構的複雜化,開發難度增加,可維護性降低,所以介面設計一定要注意適度.

介面隔離原則就是對介面的定義,同時也是對類的定義,介面和類儘量使用原子介面或原子類來組裝.


 

 

可以關注一下鄙人的公眾號, 謝謝各位了!