網(wǎng)站建設(shè)全攻略百度谷歌seo優(yōu)化
迪米特法則:(LoD) 面向?qū)ο笃邆€基本原則之一
- 只與直接的朋友通信:對象應(yīng)只與自己直接關(guān)聯(lián)的對象通信,例如:方法參數(shù)、返回值、創(chuàng)建的對象。
- 避免“鏈?zhǔn)秸{(diào)用”:盡量避免通過多個對象鏈進(jìn)行調(diào)用。例如,
a.getB().getC().doSomething()
這種形式不符合迪米特法則。
? ? ? 目的
- 降低耦合:通過減少對象之間的依賴關(guān)系,提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
- 提高靈活性:使得對象的內(nèi)部實現(xiàn)可以獨立變化,而不影響外部使用者。
- 對象之間越少知道越好。
? ? ? ? 例如,汽車有三個類 Car Engine? Driver
? ? ? ? 這三個類里面Car與Engine交互是符合迪米特法則的
? ? ? ? Driver如果與Car的內(nèi)部結(jié)構(gòu)Engine交互則視為增加了耦合度,不符合迪米特法則