物件導向設計原則之五 迪公尺特法則

2022-06-11 20:12:10 字數 634 閱讀 3472

迪公尺特法則(law of demeter)又叫最少知識原則(least knowledge principle lkp),就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。

對物件導向來說,乙個軟體實體應當盡可能的少的與其他實體發生相互作用。每乙個軟體單位對其他的單位都只有最少的知識,而其侷限於那些與本單位密切相關的軟體單位。

迪公尺特法則的目的在於降低類之間的耦合。由於每個類儘量減少對其他類的依賴,因此,很容易使得系統的功能模組相互獨立,相互之間不存在依賴關係。應用迪公尺特法則有可能造成的乙個後果就是,系統中存在的大量的中介類,這些類只所以存在完全是為了傳遞類之間的相互呼叫關係---這在一定程度上增加系統的複雜度。

設計模式中的門面模式(facade)和中介模式(mediator)都是迪公尺特法則的應用的例子。

狹義的迪公尺特法則的缺點:

在系統裡面造出大量的小方法,這些方法僅僅是傳遞間接的呼叫,與系統的商業邏輯無關。

遵循類之間的迪公尺特法則會使乙個系統的區域性設計簡化,因為每乙個區域性都不會和遠距離的物件有之間的關聯。但是,這也會造成系統的不同模組之間的通訊效率降低,也會使系統的不同模組之間不容易協調。

廣義的迪公尺特法則在類的設計上的體現:

優先考慮將乙個類設定成不變類;盡量降低乙個類的訪問許可權;盡量降低成員的訪問許可權。

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...

物件導向設計原則之迪公尺特法則

迪公尺特法則來自於1987年美國東北大學 northeastern university 乙個名為 demeter 的研究專案。迪公尺特法則又稱為最少知識原則 leastknowledge principle,lkp 其定義如下 迪公尺特法則 law of demeter,lod 乙個軟體實體應當盡...