1、什么是迪米特法则
迪米特法则(Law of Demeter) ,又叫最小知识原则,是指一个对象应该对其他对象尽可能少的了解。
迪米特法则最初是用来作为面向对象的系统设计的一种法则,于1987年秋天由Lan Holland在美国东北大学为一个叫做迪米特的项目设计中提出。
通俗的将,迪米特法则可以叫做:“不要和陌生人说话”!
2、迪米特法则应用 – 直接耦合
人与狗直接耦合
3、迪米特法则 – 与朋友对话
通过适配器耦合(最直接的朋友)
1、façade模式
2、中介者模式
因为迪米特法则要求类与类之间尽量不直接通信,如果类之间需要通信就通过第三方转发的方式,这就直接导致了系统中存在大量的中介类,这些类存在的唯一原因是为了传递类与类之间的相互调用关系,这就毫无疑问的增加了系统的复杂度。解决这个问题的方式是:使用依赖倒转原则(通俗的讲就是要针对接口编程,不要针对具体编程)
4、迪米特法则 – 与接口对话
依赖倒置原则
人和狗的对象都继承与稳定的接口或者抽象类,那么依赖与抽象的接口依赖则更加稳定。
5、迪米特法则要义
- 只暴露应该暴露的方法或属性,尽可能的降低成员的访问权限
- 从依赖角度上将,只依赖应该依赖的对象
-
- 依赖第三方,通过第三方转发信息或职责
- 依赖稳定的抽象接口