1、什么是迪米特法则

迪米特法则(Law of Demeter) ,又叫最小知识原则,是指一个对象应该对其他对象尽可能少的了解。

迪米特法则最初是用来作为面向对象的系统设计的一种法则,于1987年秋天由Lan Holland在美国东北大学为一个叫做迪米特的项目设计中提出。

通俗的将,迪米特法则可以叫做:“不要和陌生人说话”!

2、迪米特法则应用 – 直接耦合

面向对象五大设计原则-迪米特法则

人与狗直接耦合

3、迪米特法则 – 与朋友对话

面向对象五大设计原则-迪米特法则

通过适配器耦合(最直接的朋友)

1、façade模式

2、中介者模式

因为迪米特法则要求类与类之间尽量不直接通信,如果类之间需要通信就通过第三方转发的方式,这就直接导致了系统中存在大量的中介类,这些类存在的唯一原因是为了传递类与类之间的相互调用关系,这就毫无疑问的增加了系统的复杂度。解决这个问题的方式是:使用依赖倒转原则(通俗的讲就是要针对接口编程,不要针对具体编程)

4、迪米特法则 – 与接口对话

面向对象五大设计原则-迪米特法则

依赖倒置原则

人和狗的对象都继承与稳定的接口或者抽象类,那么依赖与抽象的接口依赖则更加稳定。

5、迪米特法则要义

  • 只暴露应该暴露的方法或属性,尽可能的降低成员的访问权限
  • 从依赖角度上将,只依赖应该依赖的对象
    1. 依赖第三方,通过第三方转发信息或职责
    2. 依赖稳定的抽象接口

相关文章: