设计原则之迪米特法则–我只依赖我需要的类
迪米特法则(Law of Demeter) LOD
。这个原则是说我只依赖我确实需要的类,也叫最小知识原则。
这个原则的英文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.
每个模块之应该了解哪些与他关系密切的模块的有限知识。或者说,每个模块只和自己的朋友说话,而不和陌生人说话。
如果说用好了单一职责
可以写出高内聚的代码,那么用好了迪米特
就可以实现低耦合。
在类的结构上,每一个类都应当尽量降低成员的访问权限。这样可以避免别人调用不应该调用的方法。我们只对外暴露应该暴露的方法。
这么做有什么好处呢?如果你的依赖越少,或者依赖你的类越少,那么当你修改的时候,你影响到的也越少,出bug的概率也越少。
我们应该设计好类之间的依赖关系。谁也不想管理一团乱麻的代码。如果你现在的项目依赖关系混乱,那么你可能根本不敢修改任何一个地方,生怕整个系统崩溃。依赖关系过多也会导致不好测试。