面向对象设计原则六:迪米特原则
迪米特原则(LOP)
定义:一个对象应当对其他对象尽可能少的了解。
解释说明:
LOP原则也叫最少支持原则,也就是一个对象应当对其他对象尽可能少的了解,反过来,其他对象也应当尽量少的知道我这个对象,尽可能少的被其他对象所了解。通俗的讲就是不要跟陌生人说话。如果两个类不需要彼此通信的话,那么这两个类就不应该发生作用。当其中一个类需要调用另外一个类的方法时,我们可以通过中介类来实现,这样的好像就是类和类之间的耦合度比较低,比较容易扩展、灵活,模块设计好坏的一个很重要的标志:就是这个模块在多大的程度上能把自己内部的实现和外部的细节隐藏起来,也就是在不影响使用的情况下尽量使用低的访问级别,访问级别也就是public、Private、Protected和Interval。如果我们把成员设置为Public,也就意味着所有的类都可以对他进行访问,带来的问题就是他的使用者可能会增多,对他的修改可能会影响到更多的用户,所以LOP原则就是要求我们尽量使用低的访问级别。
好处就是降低耦合,不希望别人调用的成员,就可以使用低的访问级别,这样自然就降低了类与类之间的耦合度。
但是如果过度的使用LOP原则,就会造成系统通信率降低,因为我们会产生大量的中介类,所以要把握一个度,凡事过犹不及!