Law of Demeter, LoD
**************************************************************************
表述:
1. Don’t talk to strangers.
2. Only talk to your immediate friends.
3. 不要和“陌生人”说话
4. 只与你直接的朋友们通信。
5. 每一个软件实体对其他的软件实体都只有最少的知识,而且局限于那些本软件实体密切相关的软件实体。就是说,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
6. 又叫做最少只是原则(Least Knowledge Principle, LKP),
7. 一个对象应当对其他对象有尽可能少的了解.
迪米特法则最初是用来作为面向对象的系统设计风格的一种法则,与1987年秋天由Ian Holland在美国东北大学为一个叫做迪米特(Demeter)的项目设计提出的,因此叫做迪米特法则。
这条法则实际上是很多著名系统,比如火星登陆软件系统,木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则。
举例:
private,protected,public
每public一个方法/操作,就是发布了一个郑重的承诺,就是承担了一个职责。