設計模式六大原則 迪公尺特法則

2022-03-23 18:48:39 字數 1666 閱讀 5231

目錄:

設計模式六大原則:單一職責原則

設計模式六大原則:介面隔離原則

設計模式六大原則:依賴倒置原則

設計模式六大原則:黎克特制替換原則

設計模式六大原則:迪公尺特法則

設計模式六大原則:開閉原則

迪公尺特法則(lod):

也叫最少知識原則。迪公尺特法則的定義是只與你的直接朋友交談,不與"陌生人"說話。如果兩個軟體實體無須直接通訊,那麼就不應當發生直接的相互呼叫,可以通過第三方**該應用。其目的是降低類之間的耦合度,提高模組的相對獨立性。

迪公尺特法則中的朋友是指:當前物件本身、當前物件的成員物件、當前物件所建立的物件、當前物件的方法引數等,這些物件存在關聯、聚合或組合關係,可以直接訪問這些物件的方法。

優點:1、降低類之間的耦合度,提高模組的相對獨立性。

2、由於親和度降低,從而提高了類的可復用率和系統的擴充套件性。

缺點:過度使用迪公尺特法則會使系統產生大量的中介類,從而增加系統的複雜性,使模組之間的通訊效率降低。所以,在釆用迪公尺特法則時需要反覆權衡,確保高內聚和低耦合的同時,保證系統的結構清晰。

使用迪公尺特法則需要注意:

1、在類的劃分上,應該建立弱耦合的類。類與類之間的耦合越弱,就越有利於實現可復用的目標。

2、在類的結構設計上,盡量降低類成員的訪問許可權。

3、在類的設計上,優先考慮將乙個類設定成不變類。

4、在對其他類的引用上,將引用其他物件的次數降到最低。

5、不暴露類的屬性成員,而應該提供相應的訪問器(set 和 get 方法)。

6、謹慎使用序列化(serializable)功能。

經典案例:

蔡徐坤與經紀人的關係例項。蔡徐坤只負責浪,經紀人負責處理日常事務,如與粉絲的見面會,與**公司的業務洽淡等。

1

internal

class

program212

}1314internal

class

agent

1524

25public

void

setfans(fans myfans)

2629

30public

void

setcompany(company mycompany)

3134

35public

void

meeting()

36與明星見面了。");

38}3940

public

void

business()

41與明星洽談業務。"43

}44}45

46internal

class

star

4754

55public

string

getname()

5659}60

61internal

class

company

6269

70public

string

getname()

7174}75

76internal

class

fans

7784

85public

string

getname()

8689 }

view code

設計模式六大原則 迪公尺特法則

背景 在學校學習時,可能因為某些事你得去其他二級學院的老師幫忙,大部分老師都是忙的 也許是的 很可能一件小事你要跑很多次。但是如果 你這件事直接找的是其他學院的院長,並且院長同意幫忙的話這件事解決起來就容易多了。不知怎地最近老是瞎想感覺這件事又能和設計模式中的迪公尺特法則 law of demete...

設計模式六大原則 迪公尺特法則

設計模式總覽 迪公尺特法則 law of demeter 又叫作最少知識原則 least knowledge principle 簡寫lkp 就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。這樣就能有效降低耦合了。特點 1 只和 朋友 聯絡 2 就算是 朋友 也要少建立聯絡 用途 降耦...

設計模式六大原則(5) 迪公尺特法則

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