6大設計原則之介面隔離原則
阿新 • • 發佈:2018-12-25
介面隔離原則的定義
什麼是介面.
- 例項介面,比如定義了一個Person類,然後 Person p = new Pserson(); 產生一個例項,Person類就是 p 的介面
- 類介面,就是Java中使用 interface 定義的介面
什麼是隔離
隔離要求將介面儘量細化,同時介面中的方法儘量少.
介面隔離原則的實現
比如現在有一個人,他身兼數職,是一個老師,要教書,是一個學生,要學習,類圖如下:
如果有一天,他不在教書了,或者又有了新的職業,那我們還要修改呼叫該類的程式碼,更好的做法是將臃腫的介面變更為幾個獨立的介面
在使用時的時候通過介面呼叫.介面是我們設計時對外提供的契約,通過分散定義多個介面,可以預防未來變更的擴散,提高系統的靈活性和可維護性.
介面的規範約束
- 介面要儘量小,這是介面隔離原則的核心定義,但是"小"是有限度的,首先就是不能違背單一職責原則.
- 介面要高內聚,高內聚就是提高介面、類、模組的處理能力,減少對外的互動.具體就是,要求在介面中儘量少公佈 public 方法,介面是對外的承諾,承諾越少對系統的開發越有利,變更的風險也就越少,同時也有利於降低成本
- 定製服務,定製服務就是單獨為一個個體提供優良的服務,只提供訪問者需要的方法
- 介面設計是有限度的,介面的設計粒度越小,系統越靈活.但是,靈活的同時也帶來了結構的複雜化,開發難度增加,可維護性降低,所以介面設計一定要注意適度.
介面隔離原則就是對介面的定義,同時也是對類的定義,介面和類儘量使用原子介面或原子類來組裝.
可以關注一下鄙人的公眾號, 謝謝各位了!