六大設計原則之迪公尺特法則

2022-08-23 22:51:16 字數 868 閱讀 1343

定義:乙個類和另乙個類應該保持最小的了解

問題由來:類與類之間的關係越密切,耦合度越大,當乙個類發生變化時,對另乙個類影響也越大。

解決方案:盡量降低類與類之間的耦合。

//

總公司員工

class

employee

public

string getid() }//

分公司員工

class

subemployee

public

string getid()

} class

subcompanymanager

return

list;

} class

companymanager

return

list;

} public

void

printallemployee(subcompanymanager sub)

list

list2 = this

.getallemployee();

for(employee e:list2)

} } }

public

class

client

}

迪公尺特法則的初衷是降低類的耦合,由於每個類都減少了不必要的依賴,因此確實可以降低耦合關係。但凡事有個度,雖然可以避免與非直接的類通訊,但是要通訊,就必然會通過乙個「中介」來發生關係,過分的使用迪公尺特原則,會產生大量的中介和傳遞類,導致系統複雜度變大,所以採用迪公尺特法則時要反覆權衡,既要做到結構清晰,又要高內聚低耦合。

**

Java六大設計原則 迪公尺特法則

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

六大設計原則 5 迪公尺特法則

迪公尺特法則 lod law of demeter 定義 如果兩個類不必要直接通訊的話,那麼這兩個類就不應當發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的乙個方法,可以通過第三者 這個呼叫。以下內容參考 大話設計模式 例項 it部門有小李和小劉兩人,你今天入職需要it部門的人幫你安裝系統。人事...

六大設計原則之迪公尺特原則

乙個餐廳中的顧客,點餐,點餐後的各種服務,買單等都是通過服務員 waiter 去完成的,public class customer public void myservice 服務員成了顧客和廚師以及餐廳其他人工作人員的樞紐 public class waiter public void orter...