什么是迪米特法则?
迪米特法则就是如果两个类之间不必彼此直接通信,那么这两个类就不应该发生直接的相互通信。如果其中一个类需要调用另一个类的方法,就引入第三个类,通过第三个类去调用另一个类的方法。
迪米特法则首先强调在类的结构设计上,每一个类应当尽量降低成员的访问权限,就是说该公开的公开,不必要公开的就不公开,不要什么都用public。迪米特法则最根本的思想就是解偶,而这个在OOD中极其重要,这关系到软件的复用性,可维护性。
这一设计模式让我联想到了Android事件监听的处理模式,处理示意图如下:
当事件源发生指定的事件时,就通知所委托的事件监听器,由事件监听器来处理。然后这个事件监听器就像是刚才的第三方类。