迪米特法则

什么是迪米特法则

迪米特法则(Low of Demeter)又叫最少知识原则,一个类对其它类知道的越少越好。
迪米特法则可以简单说成:talk only to your immediate friends。

OOAD中的迪米特法则

LOD的初衷是降低类之间的耦合,每个类都尽量减少对其它类的依赖,所以,很容易使得
系统的功能模块功能独立,相互之间很少依赖关系。

LOD不希望类之间建立直接联系,类都是通过友元类进行转达。所以系统中就会存在中介类,
这些类之所以存在完全是为了传递类之间的相互调用关系:

  • facade 门面模式
  • Mediator 中介模式

设计类时应用迪米特法则

设计一个类时,类只能访问它直接的朋友:

  • 当前对象本身this
  • 参数方式传入到类方法中的对象(注入)
  • 创建对象自己或者初始化时涉及其它对象的方法,构造函数中涉及的其它对象
  • 它的直接子对象 类对象,可以调用这些它直接朋友对象的方法

参考文献

  1. 迪米特法则


blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —