`

迪米特法则(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.

    软件设计七大原则详解 1. 单一职责原则(Single Responsibility Principle, SRP) 1.1 原则定义 1.2 为什么需要单一职责原则? 1.3 违反单一职责原则的例子

    软件设计七大原则详解 1. 单一职责原则...6. 迪米特法则(Law of Demeter, LoD) 6.1 原则定义 6.2 为什么需要迪米特法则? 6.3 违反迪米特法则的例子 6.4 应用迪米特法则的改进 6.5 现实应用场景 6.6 迪米特法则

    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