迪公尺特法則(lod):又稱最少知識原則(lkp),就是說乙個物件應當對其他物件盡可能少的了解。
狹義的迪公尺特法則:
如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用.如果其中乙個類需要呼叫另乙個類的方法的話,可以通過第三者**這個呼叫.
缺點:
會在系統內造出大量的小方法,散落在系統的各個角落.這些方法僅僅是傳遞間接的呼叫,因此系統與系統中的商業邏輯無關.當設計師試圖從一張類圖看出總體的構架時,這些小方法會造成迷惑和困擾.
為了克服狹義迪公尺特法則的缺點,可以使用依賴倒轉原則,引入乙個抽象的型別引用"抽象陌生人"物件,使"某人"依賴於"抽象陌生人",換言之,就是將"抽象陌生人"變成朋友.
廣義的迪公尺特法則:
乙個模組設計得好壞的乙個重要的標誌就是該模組在多大的程度上將自己的內部資料與實現有關的細節隱藏起來.
資訊的隱藏非常重要的原因在於,它可以使各個子系統之間脫耦,從而允許它們獨立地被開發,優化,使用閱讀以及修改.
迪公尺特法則的主要用意是控制資訊的過載.在運用迪公尺特法則到系統的設計中時,要注意以下幾點:
* 在類的劃分上,應當建立有弱耦合的類.類之間的耦合越弱,就越有利於復用.
* 在類的結構設計上,每乙個類都應當盡量降低成員的訪問許可權.
* 在類的設計上,只要可能,乙個類應當設計成不變類.
* 在對其他類的引用上,乙個物件對其他物件的引用應降到最低.
* 盡量限制區域性變數的有效範圍.
迪公尺特法則 LoD
乙個物件應當對其他物件有盡可能少的了解。如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。如果其中的乙個類需要呼叫另外乙個類的某乙個方法的話,可以通過第三者 這個呼叫。以下的條件成為朋友條件 1.當前物件本身 this 2.以參量形式傳入到當前物件方法中的物件 3.當前物件的例項變...
迪公尺特法則(LoD)最少知識原則
1.拉公尺特法則,如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用 盡可能的封閉私有 如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三者 這個呼叫 如通過呼叫介面定義 2.在類的介面設計上,每乙個類都應當盡量降低成員的訪問許可權,封裝好私有成員,不需要被其他類知道的屬性...
設計原則之迪公尺特法則(LoD)
迪公尺特法則又叫最少知識原則 lkp 意思是乙個物件應當對其他物件盡可能少的了解。幾種表述方式 只與你直接的朋友們通訊 不要跟 陌生人 說話 每乙個軟體單位對其他的單位都只有最少的了解,這些了解僅侷限於那些與本單位密切相關的軟體單位 例項 public class someone 朋友 中間類 pu...