設計模式 迪公尺特法則 Lod LKP

2021-09-07 05:46:15 字數 803 閱讀 9611

迪公尺特法則:(law of demeter, lod),也稱最少知識原則(least knowledge principle, lkp)

理解:

假設兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。假設當中乙個類須要呼叫還有乙個類的某乙個放發的話,能夠通過第三者**這個呼叫。

每乙個物件都必定會與其它物件有耦合關係,兩個物件之間的耦合就成為朋友關係,這樣的關係的型別有非常多,如組合、聚合、依賴等。

朋友類的定義:出如今成員變數、方法的輸入輸出引數中的類。   而方法體類內部的類不能算。

假設朋友把太多的方法或屬性暴露給你。則過於親熱。耦合關係變得異常堅固。並且。改動時涉及的面也就越大。變更引起的風險就越大。

因此,要適時重複衡量:能否夠降低public方法和屬性,改為private、package-private、protected等訪問許可權。及能否夠加上finalkeyword。

看個演示樣例:

以下的**違反了設計原則:

public class teacher 

groupleader.countgirls(listgirls);

}}

乙個類應該紙盒自己有直接關係的類交流。

正確的方法例如以下:

public class teacher  }

public class groupleader

public void countgirls()

}

設計模式 迪公尺特法則 Lod LKP

迪公尺特法則 law of demeter,lod 也稱最少知識原則 least knowledge principle,lkp 理解 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個放發的話,可以通過第三者 這個呼叫。每個物件都必然會與其他...

設計模式 迪公尺特法則

一,概述 迪公尺特法則 law of demeter 又叫作最少知識原則 least knowledge principle 簡寫lkp 就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。英文簡寫為 lod 如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接相互作用。如果其中乙個類...

設計模式 迪公尺特法則

設計模式 迪公尺特法則 only talk to your immediate friends 只與直接的朋友通訊。即每個物件都有耦合關係,物件之間有耦合。定義老師類 public class teacher 然後進行查詢任務 groupleader.countgirls listgirls 然後定...