`

迪米特法则(LoD)

 
阅读更多

一个软件实体尽当尽可能少的与其他软件实体发生相互作用。

         LoD表述:1.只与你直接的朋友通信;2.不要跟“陌生人”说话;3.每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

         想象一下,如果你现在有件事情非常重要,需要托关系才能办成,正好你的朋友的朋友可以帮你办成此事,但是你跟他确是陌生人,你是自己直接找呢?还是你托你的朋友去找他呢?想必我们大家有个脑子的都会让朋友去托人办成此事,而且如果朋友发现他的朋友办不成此事时,它会找另外一个朋友,或者朋友的朋友,总之,这也算是解耦合的关系。

 

在我看来,软件最重要的是可维护性和良好的扩展性(需求频繁的变化是最要命的),可变性是任何软件维护最头疼的问题,有些还是灾难性的,如何在设计之初就预料到这些问题才是最为难能可贵的。大多数人认为这依赖于构架师的经验,这一点我比较赞同,但是预料到问题之后,怎么去封装这些问题,我想我们都应该掌握。

可变性的封装,拿什么去封装?java为我们提供了两种方式,接口和抽象类,在变化之处放置一个接口或者抽象类是一个不错的办法。看一看23种设计模式哪种设计模式没有用到接口和抽象类?我常常在想,你的设计模式,我的设计模式,大家的设计模式应当都遵循同一种原则。这种原则就是对不同的可变性进行封装,说到底,还是对可变性的封装。

分享到:
评论

相关推荐

    迪米特法则LoD.zip

    迪米特法则(Law of Demeter,简称LoD)是面向对象设计中的一种重要原则,源自1987年在 Northeastern University 提出。这个法则旨在降低类与类之间的耦合,提高系统的可维护性和可扩展性。在中文环境中,迪米特法则...

    第三十讲:基础五迪米特法则

    在编程和软件设计中,迪米特法则(Law of Demeter,简称LoD)是一个重要的设计原则,它属于面向对象设计中的一个最佳实践。迪米特法则得名于希腊神话中的先知迪米特,其核心思想是“只与你的直接朋友交谈”。这一...

    22丨理论八:如何用迪米特法则(LOD)实现“高内聚、松耦合”? 1

    迪米特法则,又称最小知识原则,主张一个对象应该尽量减少对其他对象的了解,只与其直接相关的对象交互,避免通过第三方对象进行通信,以此降低耦合度。 迪米特法则的英文名Law of Demeter,强调了每个对象应该限制...

    迪米特法测

    迪米特法则(Law of Demeter,LoD)是软件设计模式中的一种,它源于对象导向编程领域,旨在降低类与类之间的耦合性,提高系统的可维护性和可扩展性。这一法则通常被称为“最少知识原则”,即一个对象应当对其他对象...

    C++设计模式迪米特法则实例

    迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 类的设计接口尽量封装完善,让外部直接...

    JavaCodeDesign:这是Java设计模式的样本项目

    [TOC] This is a sample project of java design pattern.Inside code comes from the book of . ... 迪米特法则 lod(Least Knowledge Principle) 6. 开闭原则 ocp 设计模式 (pattern) 1. 单例模式 singleton 2.

    SQL语句优化2

    开-闭原则(OCP):一个软件实体应当对扩展开放,对修改关闭。 里氏代换原则(LSP):一个软件实体如果使用的是一个基类的话,那么一定适用于其子类。...迪米特法则(LoD):一个对象应当对其他对象有尽可能少的了解

    面向对象设计原则Java概要.ppt

    迪米特法则  迪米特法则简介 迪米特法则(Law of Demeter, LoD)又称为最少知识原则,它建议一个对象应该尽可能少地了解其他对象的内部细节,通过最小化类之间的交互来降低耦合。 迪米特法则  迪米特法则的应用...

    【设计模式】基于c#23种设计模式案例实现.zip

     迪米特法则(Law of Demeter,LoD)又叫最少知识原则(Least Knowledge Principle,LKP),指的是一个对象应当对其他对象有尽可能少的了解。也就是说,一个模块或对象应尽量少的与其他实体之间发生相互作用,使得...

    面向对象的设计的原则 电子版

    7. 迪米特法则(LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。迪米特法则告诉我们,在软件设计中,我们需要限制软件实体之间的通信,降低系统的耦合度,使类与类之间保持松散的耦合关系。 遵循面向...

    8包设计原则(二)-课程内容.rar

    "8包设计原则(二)"的课程内容很可能涵盖了这八个关键的设计原则,它们分别是:单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)、迪米特法则(LoD)、...

    6大设计原则

    这六大设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)以及迪米特法则(LoD)。接下来,我们将深入探讨这些原则的含义及其在实际编程中的应用。...

    六种设计原则

    本文将详细探讨六种核心的设计原则,它们分别是开闭原则(Open-Closed Principle, OCP)、里氏代换原则(Liskov Substitution Principle, LSP)、迪米特法则(Law of Demeter, LoD)、依赖倒转原则(Dependency ...

    灸哥讲设计么:为什么学?怎么学 & 软件设计七原则解读

    在SOLID原则基础上,还有CARP(组合/聚合复用原则)和LoD(迪米特法则)。 - 单一职责原则(SRP):一个类应该只有一个引起它变化的原因,也就是说,一个类只做一件事。 - 开闭原则(OCP):软件实体(类、模块、...

    设计模式6大法则

    5. 迪米特法则(Law of Demeter, LoD) 迪米特法则又称作最少知识原则,它提倡一个对象应尽可能少地了解其他对象的内部细节。通过限制对象之间的直接交互,降低耦合度,提高系统的可理解和可维护性。遵循LoD,我们...

    8包设计原则(一)-课程内容.rar

    "8包设计原则(一)"的课程内容很可能涵盖了这八个关键的设计原则,它们分别是:单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)、迪米特法则(LoD)、...

    设计模式六大原则 .docx

    5、迪米特法则(LoD) 迪米特法则建议,一个类应当尽可能少地了解其他类,只与其直接相关的类交互。如果需要与其他类通信,应通过第三方类作为中介。这降低了类之间的耦合度,提高了系统的可维护性。例如,外观模式...

    软件设计6原则

    简称DIP)、里氏替换原则(Liskov Substitution Principle,简称LSP)、最少知识原则(Least Knowledge Principle)以及迪米特法则(Law of Demeter,简称LoD)。下面将对这六个原则进行详细解读: 1. 单一责任原则...

    课后题目三1

    2. **迪米特法则(Law of Demeter, LoD)**:也称为最少知识原则,迪米特法则建议一个对象应该仅与其直接朋友交互,而不是通过陌生的对象。简单来说,就是每个对象应该尽量减少与其他对象的交互,只与直接依赖的对象...

Global site tag (gtag.js) - Google Analytics