概念
迪米特法则指的是一个类/模块对其他的类/模块有越少的了解越好。
简单来说迪米特发展想要表达的思想就是:不应该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。
个人理解
一个类只关注自己的事,不要过多关注其他的类或者模块。有点像单一职责;它的思想呢,也很重要,尽量不要有关系,如果真的要有关系,那就去建立一个接口类,继承接口去实现这种关系。它的核心不是这个,2个事是分开的;只不过实现了这个接口,有依赖关系的是接口。
案例
这种案例,在现实生活中也很常见吧。比如,村里的小卖铺,只是个小卖铺,卖东西的;东西哪来的呢?当然是通过一些渠道进的货;货怎么来的呢,有专门的货运公司运送过来的。小卖铺只干了一件事,卖货,渠道买货,货运公司送货。这中间没有跟一家公司有依赖,只是依赖于一些接口;今天张家提供货,通过一家货运公司拿的货;明天李家提供了其他的货,可以通过另外一家货运公司拿别的货;就这样慢慢积累成了一家小卖铺。当然我没干过这些,只是通过这个概念理解了一下这种关系。
小结
迪米特法则:一个类/模块对其他的类/模块有越少的了解越好。不应该有直接的依赖关系的类之间,不要有依赖;有依赖,也尽量只去依赖必要的接口。好了,就是这个意思,感兴趣,可以去学习学习。