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

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

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

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

迪米特原则对类的低耦合度提出了以下几点要求:
1、只和朋友类交流
类与类之间的交流无需知道内部结构,其内部与其他陌生类打交道我并不关心。
2、朋友类之间的距离
一个类公开的属性和方法越多,其被修改的可能性也会更大,所以在设计一个的时候要权衡利弊,把范围定义在合理的范围内。

所以,迪米特很明显的优点是低耦合度,提高了系统的可维护性和可扩展性。 但另一方面,为了满足这些特性而又不得不增加很多包装的类或方法,这在一定程度上也就提高了类的复杂性。
    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » 面象对象设计6大原则之六:迪米特原则

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多