得墨忒耳定律

最近看两本书,程序员修炼之道-–—从小工到专家代码整洁之道,里面都讲到了 得墨忒耳定律,英文原称为 The Low of Demeter ,觉得挺有道理,但是又无法一时理解到位,可以正确的使用。所以摘录了下来,供以后回忆。

下面是我直接从维基百科摘录过来的:


得墨忒耳定律(Law of Demeter,缩写LoD)亦称为"最少知识原则(Principle of Least Knowledge)",是一种软件开发的设计指导原则,特别是面向对象的程序设计。得墨忒耳定律是松耦合的一种具体案例。该原则是美国东北大学在1987年末在发明的,可以简单地以下面任一种方式总结:

这个原理的名称来源于希腊神话中的农业女神,孤独的得墨忒耳。

很多面向对象程序设计语言用"."表示对象的域的解析算符,因此得墨忒耳定律可以简单地陈述为"只使用一个.算符"。因此,a.b.Method()违反了此定律,而a.Method()不违反此定律。一个简单例子是,人可以命令一条狗行走(walk),但是不应该直接指挥狗的腿行走,应该由狗去指挥控制它的腿如何行走。


感兴趣的可以去看看 Law of Demeter

First created: 2013-06-12 00:00:00
Last updated: 2022-12-11 Sun 12:49
Power by Emacs 27.1 (Org mode 9.4.4)