設計模式六大設計原則(五):最少知識原則

1、定義

一個對象應該對其餘對象有最少的瞭解。對象

在介紹具體含義以前先解釋下什麼是朋友類:變量

出如今成員變量、方法的輸入輸出參數中的類稱爲成員朋友類,而出如今方法體內部的類不屬於朋友類。重構

最少知識原則的包含的具體含義:軟件

  • 只和朋友交流。類與類之間的關係是創建在類間的,而不是方法間,所以一個方法儘可能不引入一個類中不存在的對象。換句話說在方法中應儘可能避免調用朋友返回的對象(朋友的朋友)的方法。固然,JDK API提供的類除外。
  • 朋友間也是有距離的。儘可能不要對外公佈太多的public方法和非靜態的public變量,儘可能內斂,多使用private、package-private、protected等訪問權限。
  • 是本身的就是本身的。若是一個方法放在本類中,既不增長類間關係,也對本類不產生負面影響,那就放置在本類中。

2、優缺點

(一)優勢

下降模塊間的耦合,提高了軟件的可維護性和可重用性。權限

(二)缺點

在系統裏造出大量的小方法,這些方法僅僅是傳遞間接的調用,與系統的業務邏輯無關。方法

3、建議

  • 若是一個類跳轉兩次以上才能訪問到另外一個類,就須要想辦法進行重構了。
  • 須要反覆權衡,既作到讓結構清晰,又作到高內聚、低耦合。
相關文章
相關標籤/搜索