接口隔離原則,客戶端不應該被強迫依賴它不需要的接口。其中的“客戶端”,可以理解爲接口的調用者或者使用者。
判斷標準
從接口調用方來判斷,是否提供了多餘的能力
也就是增加不必要的依賴,而且會造成調用方使用的困惑
與單一職責原則的區別
接口隔離原則跟單一職責原則有點類似,其區別在於,
- 單一職責原則針對的是模塊、類、接口的設計
- 接口隔離原則更側重於接口的設計,而且思考的角度不同。 接口隔離原則需要站在調用方來判斷,是否被強迫依賴了不需要的接口
如何實現接口隔離原則
- 首先保證接口職責單一,符合單一職責原則
- 接口由一組邏輯高度自洽的功能組成,比如訂單履約、訂單查詢、訂單分析等
示例
- 訂單交易系統中,一開始會把訂單相關代碼實現在一個接口,比如訂單創建、查詢、發貨、到貨等,但是隨着業務發展,業務會逐漸區分C端履約,B端履約,B端查詢分析等子系統, 這個時候就需要把訂單接口拆分爲3個對應的接口