首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

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

1、只和朋友类交流

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

2、朋友类之间的距离

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

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

举报
领券