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