什么是迪米特法则
迪米特法则(Low of Demeter)又叫最少知识原则,一个类对其它类知道的越少越好。
迪米特法则可以简单说成:talk only to your immediate friends。
OOAD中的迪米特法则
LOD的初衷是降低类之间的耦合,每个类都尽量减少对其它类的依赖,所以,很容易使得
系统的功能模块功能独立,相互之间很少依赖关系。
LOD不希望类之间建立直接联系,类都是通过友元类进行转达。所以系统中就会存在中介类,
这些类之所以存在完全是为了传递类之间的相互调用关系:
- facade 门面模式
- Mediator 中介模式
设计类时应用迪米特法则
设计一个类时,类只能访问它直接的朋友:
- 当前对象本身this
- 参数方式传入到类方法中的对象(注入)
- 创建对象自己或者初始化时涉及其它对象的方法,构造函数中涉及的其它对象
- 它的直接子对象 类对象,可以调用这些它直接朋友对象的方法