迪米特法则(LOD:law of demeter)
定义:如果两个类不必要直接通信的话,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的一个方法,可以通过第三者转发这个调用。
以下内容参考 <<大话设计模式>>
实例:IT部门有小李和小刘两人,你今天入职需要IT部门的人帮你安装系统。人事安排你去找小李,到你到达IT部门发现小李不在,然后你找人事,人事说你找其他人吧,然后你找小刘,小刘看到人事的安排上写着 找小李,然后让你等小李。 这就是典型的强耦合关系。
IT部门是抽象的,这里可以直接安排你去IT部门,这就是实现依赖抽象(依赖倒转),同时你也不需要直接和IT部门的人认识(迪米特法则)。
迪米特法则首先强调的前提是在类的结构设计上,每个类应当尽量降低成员的访问权限,不需要让别的类知道的字段和行为就不要公开(private)
其根本思想是强调类之间的松耦合,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。