面象对象设计6大原则之六:迪米特原则

作者: Java技术栈 | 来源:发表于2017-08-13 11:45 被阅读32次

    迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则

    定义

    一个对象应该对其他对象有最少的了解。

    也就是说一个类耦合和调用一个类应该知道的最少,它只关心被耦合和调用的类的公共方法,而被耦合和调用的类如何复杂它并不关心。这在另一程度也说明类方法的最小权限性,不要随意定义public公开方法,你只公开你需要公开的。

    迪米特原则对类的低耦合度提出了以下几点要求:

    1、只和朋友类交流

    类与类之间的交流无需知道内部结构,其内部与其他陌生类打交道我并不关心。

    2、朋友类之间的距离

    一个类公开的属性和方法越多,其被修改的可能性也会更大,所以在设计一个的时候要权衡利弊,把范围定义在合理的范围内。

    所以,迪米特很明显的优点是低耦合度,提高了系统的可维护性和可扩展性。 但另一方面,为了满足这些特性而又不得不增加很多包装的类或方法,这在一定程度上也就提高了类的复杂性。

    相关文章

      网友评论

        本文标题:面象对象设计6大原则之六:迪米特原则

        本文链接:https://www.haomeiwen.com/subject/sdgsrxtx.html