概念
小接口原則,即每個接口中不存在子類用不到卻必須實現的方法,如果不然,就要將接口拆分。如下圖所示定義了一個接口,包含了5個方法,實現類A用到了3個方法、實現類B用到了3個方法,類圖如下:
類A沒有方法4、方法5,卻要實現它;類B沒有方法2、方法3,但還是要實現這兩個方法,不符合接口隔離原則。改造為將其拆分為三個接口,實現方式改為下圖所示,符合接口隔離原則:
實現
面向對象機制中一個類可以實現多個接口,通過多重繼承分離,通過接口多繼承(實現)來實現客戶的需求,代碼更加清晰易維護。如網上商城系統(tǒng)中,封裝一個用戶類,完成用戶的消費記錄、瀏覽記錄等相應的功能,如果是會員還要完成記錄會員積分、提現、折扣、會員級別變動等功能;實現精準化廣告投放時需要根據用戶特征計算用戶的消費偏好,則可以做以下設計完成遵循接口隔離原則。
這樣設計,普通消費者無需實現會員接口,符合接口隔離原則;
同時在做精準推送時,只需要通過“精準推送”接口定義對象變量;做會員相關操作時,只需使用會員接口定義對象變量,而不是所有的內容通過消費用戶定義相關對象變量,代碼的可讀性大大提高。
拓展
1.接口分離原則也是確保“開-閉”原則的一個重要手段;模塊相對獨立,通信盡可能少,這樣當一個模塊修改時,對別的模塊的影響很小。
2. 代碼清晰易懂,里氏替換和依賴倒置原則更易使用。
3. 語義更加清晰,準確。(如:家里電路需要處理,我們會在勞動力市場找電工(小接口),而不是說找個工人(大接口),這樣語義更加清晰,準確)
以上就是java面向對象設計原則之接口隔離原則示例詳解的詳細內容,更多關于java面向對象設計原則的資料請關注服務器之家其它相關文章!
原文鏈接:https://blog.csdn.net/guoyp2126/article/details/113944137