最近在研究设计原则,软件工程师我觉得称呼为 设计师更合理,软件开发就是一门综合性很强的设计工作啊。
本文将由浅入深的介绍迪米特法则,并提供丰富的正反例。
概念
迪米特法则最初是由伊恩·霍兰德(Ian Holland)于1987年秋天在东北大学发现的。迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。不和陌生人说话。
原话:Each unit should have only limited knowledge about other units: only units “closely” related to the current unit. Or: Each unit should only talk to its friends; Don’t talk to strangers.
在这种一般形式中,LoD是软件工程中众所周知的低耦合原则的更具体的例子。低耦合原则非常普遍,我们试图使其更具体。换句话说,迪米特法则就是为了实现低耦合。
这条定律正是我们从小就被告知的——不要和陌生人说话。
我们经常听说有“松散耦合”的类和函数。
“松散耦合意味着这些类大多是独立的。如果A类对B类的唯一知识是B类通过其接口公开的,那么A类和B类被称为松散耦合。
根据定义,假设我们有两个类,A和B。如果类 A 允许类 B