設計模式之美學習 迪公尺特原則 十一

2022-03-17 06:47:03 字數 847 閱讀 8635

能夠指導我們實現「高內聚、松耦合」的**

迪公尺特原則的定義是:

只與你的直接朋友交談,不跟「陌生人」說話(talk only to your immediate friends and not to strangers)。其含義是:如果兩個軟體實體無須直接通訊,那麼就不應當發生直接的相互呼叫,可以通過第三方**該呼叫。其目的是降低類之間的耦合度,提高模組的相對獨立性。

迪公尺特法則中的「朋友」是指:當前物件本身、當前物件的成員物件、當前物件所建立的物件、當前物件的方法引數等,這些物件同當前物件存在關聯、聚合或組合關係,可以直接訪問這些物件的方法。

迪公尺特法則要求限制軟體實體之間通訊的寬度和深度,正確使用迪公尺特法則將有以下兩個優點。

降低了類之間的耦合度,提高了模組的相對獨立性。

由於親合度降低,從而提高了類的可復用率和系統的擴充套件性。

從依賴者的角度來說,只依賴應該依賴的物件。

從被依賴者的角度說,只暴露應該暴露的方法。

「高內聚、松耦合」是乙個非常重要的設計思想,能夠有效地提高**的可讀性和可維護性,縮小功能改動導致的**改動範圍

所謂高內聚,就是指相近的功能應該放到同乙個類中,不相近的功能不要放到同乙個類中。相近的功能往往會被同時修改,放到同乙個類中,修改會比較集中,**容易維護。實際上,我們前面講過的單一職責原則是實現**高內聚非常有效的設計原則

類與類之間的依賴關係簡單清晰。即使兩個類有依賴關係,乙個類的**改動不會或者很少導致依賴類的**改動。實際上,我們前面講的依賴注入、介面隔離、基於介面而非實現程式設計,以及今天講的迪公尺特法則,都是為了實現**的松耦合。

設計模式之迪公尺特原則

迪公尺特原則 law of demeter lod 是指乙個物件應該對其它物件保持最少的了解,又叫最少知道原則 least knowledge principle,lkp 盡量降低類與類之間的耦合度。迪公尺特原則主要強度,只和朋友交流,不和陌生人說話。出現在成員變數 方法的輸入 輸出引數中的類都可以...

設計模式 迪公尺特原則 開閉原則

乙個物件應該對其他物件有最少的了解。通俗地講,乙個類應該對自己需要耦合或呼叫的類知道得最少,你 被耦合或呼叫的類 的內部是如何複雜都和我沒關係,那是你的事情,我就知道你提供的這麼多public方法,我就呼叫這麼多,其他的我一概不關心。每個物件都必然會與其他物件有耦合關係,兩個物件之間的耦合就成為朋友...

設計模式筆記 迪公尺特原則

迪公尺特法則還有乙個英文解釋是only talk to your immedate friends,意思就是 只與直接的朋友通訊,什麼叫做直接的朋友呢?每個物件都必然會與其他物件有耦合關係,兩個物件之間的耦合就成為朋友關係,這種關係的型別有很多,如組合,聚合,依賴等。舉例如下 案例 找中介租房 pu...