十一 迪公尺特法則

2021-08-30 20:50:17 字數 661 閱讀 3068

迪公尺特法則又叫最少知識原則,就是說,乙個物件應當對其他物件有盡可能少的了解.

一:狹義的迪公尺特法則

如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用,如果其中的乙個類someone需要呼叫另乙個類stranger的某乙個方法的話,可以通過第三者friend**這個這個呼叫.這個第三者可以是以參量形式傳入到當前物件方法中的物件,當前物件例項變數直接引用的物件....與依賴倒轉原則互補:引入乙個抽象型別引用"抽象陌生人"物件,使某人依賴於"抽象陌生人",就是把"抽象陌生人"變成朋友。

二:迪公尺特法則與設計模式

a:門面模式

如果乙個子系統內部的物件構成自己的"朋友圈",而子系統外部的物件都屬於"陌生人"的話,那麼子系統外部的物件與內部的物件就不應當直接通訊,而應當通過乙個雙方都認可的朋友,也就是"門面"物件進行通訊,這就導致了門面模式.

b:調停者模式

如果有很多個類,它們之間相互呼叫,這時可以創造出乙個大家共用的朋友,然後大家都通過這個朋友物件發生作用,而相互之間的直接相互作用省略掉,這就導致了調停都模式.

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

(1)優先考慮將乙個類設定成不變類

(2)盡量降低乙個類的訪問許可權

(3)謹慎使用serializable.

(4)盡量降低成員的訪問許可權。

迪公尺特法則

定義 乙個物件應該對其他物件保持最少的了解。問題由來 類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類的影響也越大。解決方案 盡量降低類與類之間的耦合。自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模...

迪公尺特法則

自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模組之間的耦合盡量的低,才能提高 的復用率。怎麼樣程式設計才能做到低耦合呢?那正是迪公尺特法則要去完成的。類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類...

迪公尺特法則

迪公尺特法則又稱為最少知識法則,即 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三方來 這個呼叫。迪公尺特法則特別強調的是類之間的松耦合,即在類的結構設計上,每乙個類都應該盡量降低成員的訪問許可權。我們在進行程式設計時...