迪米特法则又叫最少知识原则,就是说,一个对象应当对其他对象有尽可能少的了解.
一:狭义的迪米特法则
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类SomeOne需要调用另一个类Stranger的某一个方法的话,可以通过第三者Friend转发这个这个调用.这个第三者可以是以参量形式传入到当前对象方法中的对象,当前对象实例变量直接引用的对象....与依赖倒转原则互补:引入一个抽象类型引用"抽象陌生人"对象,使某人依赖于"抽象陌生人",就是把"抽象陌生人"变成朋友。
二:迪米特法则与设计模式
A:门面模式
如果一个子系统内部的对象构成自己的"朋友圈",而子系统外部的对象都属于"陌生人"的话,那么子系统外部的对象与内部的对象就不应当直接通信,而应当通过一个双方都认可的朋友,也就是"门面"对象进行通信,这就导致了门面模式.
B:调停者模式
如果有很多个类,它们之间相互调用,这时可以创造出一个大家共用的朋友,然后大家都通过这个朋友对象发生作用,而相互之间的直接相互作用省略掉,这就导致了调停都模式.
三:广义迪米特法则在类的设计上的体现
(1)优先考虑将一个类设置成不变类
(2)尽量降低一个类的访问权限
(3)谨慎使用Serializable.
(4)尽量降低成员的访问权限。
分享到:
相关推荐
设计模式6大原则:迪米特法则
在编程和软件设计中,迪米特法则(Law of Demeter,简称LoD)是一个重要的设计原则,它属于面向对象设计中的一个最佳实践。迪米特法则得名于希腊神话中的先知迪米特,其核心思想是“只与你的直接朋友交谈”。这一...
迪米特法则(Law of Demeter,简称LoD)是面向对象设计中的一种重要原则,源自1987年在 Northeastern University 提出。这个法则旨在降低类与类之间的耦合,提高系统的可维护性和可扩展性。在中文环境中,迪米特法则...
C++设计模式迪米特法则实例 迪米特法则是一种重要的设计模式,它也被称为最少知识原则(Least Knowledge Principle,LKP)。该原则的主要思想是,一个对象应当对其他对象有尽可能少的了解,或者说,不和陌生人说话...
迪米特法则(Law of Demeter)是面向对象设计中的一种设计原则,它提倡降低类与类之间的耦合,使得系统更加稳定和易于维护。这个原则由美国东北大学的一个研究团队提出,其核心思想可以概括为“只和你的朋友交谈,不...
门面(Facade)模式是一种设计模式,遵循迪米特法则,旨在简化子系统的使用,减少客户端与子系统之间的复杂依赖关系。迪米特法则主张一个对象应该尽量减少与其他对象的交互,只与直接的朋友交流,以此提高系统的内聚...
迪米特法则,亦称最少知道原则,是在Java编程领域中一个非常重要的设计原则。这个原则指导我们在设计类和方法的时候,需要尽量减少类与类之间的交互和依赖,以达到降低耦合的目的。迪米特法则不仅有助于提高代码的...
迪米特法则,又称最小知识原则,主张一个对象应该尽量减少对其他对象的了解,只与其直接相关的对象交互,避免通过第三方对象进行通信,以此降低耦合度。 迪米特法则的英文名Law of Demeter,强调了每个对象应该限制...
迪米特法则,又称最少知识原则,是面向对象设计中的一种重要原则,旨在减少类与类之间的耦合,提高软件系统的可维护性和可扩展性。根据迪米特法则,一个对象应该尽量减少对其他对象的了解,即一个类应当只与它的直接...
以C#为例,我们可以这样应用迪米特法则: ```csharp class Department { private List<Employee> _employees; public void AddEmployee(Employee employee) { _employees.Add(employee); } public void ...
迪米特法则,又称最少知识原则,是面向对象设计中的一种重要原则,旨在减少软件实体之间的耦合,增强模块的独立性。这个原则源于1987年美国东北大学的迪米特研究项目,由伊恩·荷兰提出,并由UML创始人之一的...
读书笔记:java 23种设计模式 开闭原则 依赖倒转原则 迪米特法则 设计模式思想 Java入门demo
迪米特法则,也被称为最少知识原则(Law of Demeter),是面向对象设计中的一个重要原则。这个原则主张每个对象应该尽可能少地了解其外部对象,从而降低类之间的耦合度,增强系统的可维护性和可扩展性。在Java设计...
所有的设计模式Java实现。 第一讲:简单工厂模式 第二讲:工厂方法模式 第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 ...第二十九讲:迪米特法则 第三十讲:设计模式总结
设计模式的表述格式 ...定义:迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 还有一
享元设计模式是一种结构型设计模式,主要应用于减少创建对象的数量,从而节约系统内存并提高性能。在软件工程中,当系统中存在大量相似或重复的对象时,享元模式能够通过共享已有对象来达到减少内存消耗的目的。...
**UML教程(1)-概述** UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它提供了一种图形化的语言来描述、设计和可视化软件系统。本教程将从基础出发,详细介绍UML的核心...