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

2021-06-21 05:19:59 字數 1019 閱讀 6762

設計模式總覽

迪公尺特法則(law of demeter)又叫作最少知識原則(least knowledge principle 簡寫lkp),就是說乙個物件應當對其他物件有盡可能少的了解,不和陌生人說話。這樣就能有效降低耦合了。

特點:1、只和「朋友」聯絡

2、就算是「朋友」也要少建立聯絡

用途:降耦

例項分析:

1、只和「朋友」聯絡,那這裡的「朋友」是什麼呢?「朋友」是指成員變數、函式引數、或函式返回值!舉個例子:

客戶找裝修公司為其裝修房子,裝修公司委派一名工人前去裝修。

class worker

;class company

;class clientele

};

**中涉及到三個類裝修工人worker、裝修公司company、雇主clientele。再來分析一下他們的關係company是clientele的「朋友」,worker是company的「朋友」,但worker並非是clientele的朋友。

有了上面的關係,不難看出,這段**違背了迪公尺特法則!因為clientele與非「朋友」類worker有了聯絡!所以要對這段**進行修改:

class worker

;class company

worker* regist();

};class clientele

};

現在clientele只和「朋友」company聯絡,同樣company只和「朋友」worker聯絡。雖然滿足了迪公尺特法則的第一步,但仍然違背了第二步:和「朋友」也要少建立聯絡!再次對**進行修改,修改company的regist方法的訪問級別

class worker

;class company

private:

worker* regist();

};class clientele

};

ok,到這裡為止,就可以根據迪公尺特法則,將原方案中的耦合降到最低了!

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

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

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

目錄 設計模式六大原則 單一職責原則 設計模式六大原則 介面隔離原則 設計模式六大原則 依賴倒置原則 設計模式六大原則 黎克特制替換原則 設計模式六大原則 迪公尺特法則 設計模式六大原則 開閉原則 迪公尺特法則 lod 也叫最少知識原則。迪公尺特法則的定義是只與你的直接朋友交談,不與 陌生人 說話。...

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

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