得墨忒耳定律

維基百科,自由的百科全書

得墨忒耳定律Law of Demeter,縮寫LoD)亦被稱作「最少知識原則(Principle of Least Knowledge)」,是一種軟體開發的設計指導原則,特別是物件導向的程序設計。得墨忒耳定律是鬆耦合的一種具體案例。該原則是美國東北大學在1987年末在發明的,可以簡單地以下面任一種方式總結:

  1. 每個單元對於其他的單元只能擁有有限的知識:只是與當前單元緊密聯繫的單元;
  2. 每個單元只能和它的朋友交談:不能和陌生單元交談;
  3. 只和自己直接的朋友交談。

這個原理的名稱來源於希臘神話中的農業女神,孤獨的得墨忒耳

很多物件導向程序設計語言用"."表示對象的域的解析算符,因此得墨忒耳定律可以簡單地陳述為「只使用一個.算符」。因此,a.b.Method()違反了此定律,而a.Method()不違反此定律。一個簡單例子是,人可以命令一條狗行走(walk),但是不應該直接指揮狗的腿行走,應該由狗去指揮控制它的腿如何行走。

優點[編輯]

得墨忒耳定律使得軟體更好的可維護性與適應性。因為對象較少依賴其它對象的內部結構,可以改變對象容器(container)而不用改變它的調用者(caller)。

外部連結[編輯]