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

简介: 迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则定义一个对象应该对其他对象有最少的了解。也就是说一个类耦合和调用一个类应该知道的最少,它只关心被耦合和调用的类的公共方法,而被耦合和调用的类如何复杂它并不关心。

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

定义

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

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

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

1、只和朋友类交流

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

2、朋友类之间的距离

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

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

相关文章
|
设计模式 Java 数据库
Java设计模式七大原则-依赖倒转原则
Java设计模式七大原则-依赖倒转原则
88 0
|
6月前
|
设计模式 存储 自然语言处理
Java面向对象设计七大原则
Java面向对象设计七大原则
112 0
软件设计原则-迪米特原则讲解以及代码示例
迪米特原则(Law of Demeter,简称LoD)也被称为最少知识原则(Least Knowledge Principle,LKP),是面向对象设计的一种重要原则。迪米特原则的核心思想是尽量减少对象之间的交互,使得系统中的模块能够相对独立地变化。
118 0
软件设计原则-迪米特原则讲解以及代码示例
|
设计模式 Java
Java设计模式七大原则-迪米特法则
Java设计模式七大原则-迪米特法则
64 0
|
存储 关系型数据库
软件设计原则SOLID+组合聚合+迪米特原则(附代码讲解)
软件设计原则SOLID+组合聚合+迪米特原则(附代码讲解)
71 0
|
设计模式 测试技术 uml
面向对象设计的九大基本原则 (GRASP)
面向对象设计的九大基本原则 (GRASP)
1152 0
软件架构设计原则--迪米特原则
本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删
软件架构设计原则--迪米特原则
|
设计模式
迪米特原则|设计原则
本文是讲述 六大设计原则 的最后一篇,为大家讲述 迪米特原则
|
设计模式
设计模式七大原则——迪米特原则
设计模式七大原则——迪米特原则
设计模式七大原则——迪米特原则
|
设计模式
设计模式(十二)迪米特原则(最少知识原则)
迪米特(最少知识)法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
151 0
设计模式(十二)迪米特原则(最少知识原则)