一个人去公司上班,让他到IT部找小张领电脑,但是小张临时出去了没法办,找IT部的小李,小李却说不是它的工作。于是只能等着小张回来处理。这就反映了管理上的一些问题。
有好的解决办法是什么呢?就是不管认不认识IT部的人,只要电话或亲自找到IT部,它们都应该想办法帮我解决问题。
在设计模式中的话,其实道理是一样的。IT部代表是抽象类或接口,小张小李代表是具体类,之前你在分析会修电脑不会修收音机里讲的依赖倒转原则,即面向接口编程,不要面向实现编程。
迪米特法则,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某个方法的话,可以通过第三者转发这个调用。
迪米特法则其根本思想,是强调了类之间的松耦合。
类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及。信息的隐藏促进了软件的复用。