设计模式——迪米特法则(最少知识原则)

迪米特法则:

如果两个类不必彼此直接通信,那么这两个类就不要发生直接的相互作用。

如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

迪米特法则首先强调的前提是:在类的结构设计上,每一个类都应该尽量降低成员的访问权限,也就是说,一个类包装好

自己的private状态,不需要让别的类知道的字段或行为就不要公开。

迪米特法则的根本思想是:强调了类之间的松耦合。

在程序设计的时候,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。

也就是说信息的隐藏促进了软件的复用。

时间: 2024-10-29 02:59:57

设计模式——迪米特法则(最少知识原则)的相关文章

OOAD-8 面向对象设计七原则--迪米特法则/最少知识原则

迪米特法则的定义 迪米特法则又叫做最少知识原则.它的定义是:只与你的直接朋友交谈,不和陌生人说话.其含义是如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用.可以通过第三方转发该调用.其目的是降低类之间的耦合度,提高模块之间的相对独立性 迪米特法则中的朋友是指:当前对象本身.当前对象的成员变量.当前对象所创建的对象.当前对象的方法参数等.这些对象同当前对象存在关联.聚合.组合关系,可以直接访问这些对象的方法. 狭义理解:一个对象应该对其他对象有最少的了解.通俗的将,一个类应该对自己需要

大话设计模式---迪米特法则

迪米特法则/最少知识原则 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用. 前提:在类的结构设计上,每一个类都应当尽量降低成员的访问权限. 根本思想:强调类之间的松耦合.

设计模式之迪米特原则(LOD)(最少知识原则)

来源:迪米特法则(LoD)最初是用来作为面向对象的系统设计风格的一种法则,是很多著名系统,如火星登陆软件系统.木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则. 迪米特法则(LoD)又可分为两种:狭义的迪米特法则(LoD)和广义的迪米特法则(LoD). 概念: LOD:LOD,Law Of Demeter 迪米特法则又称最少知识原则,也就是说一个对象应当对其他对象有尽可能少的了解. 狭义的迪米特法则(LoD): 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用. 如果其中的一个

无熟人难办事?- 闲聊设计模式-迪米特法则

(续上篇)           次日傍晚,小菜敲开了大鸟家的门.        "回来啦!怎么样?第一天上班感受多吧."大鸟关心的问道.        "感受真是多哦!!!"小菜一脸的不屑一顾.        "怎么了?受委屈了吗.说说看怎么回事?"        "委屈谈不上,就感觉公司氛围不是很好.我一大早就到他们公司,正好我的主管出去了不在公司.人事处的小杨让我填了表后,就带我到IT部领取电脑,她向我介绍了一个叫'小张'的同事认识

设计模式--迪米特法则(Lod/LKP)

迪米特法则:(Law of Demeter, LoD),也称最少知识原则(Least Knowledge Principle, LKP) 理解: 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用.如果其中一个类需要调用另一个类的某一个放发的话,可以通过第三者转发这个调用. 只和朋友交流(更准确来讲是:直接的朋友) 每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,如组合.聚合.依赖等. 朋友类的定义:出现在成员变量.方法的输入输出参数

设计模式 迪米特法则

只和朋友交流 Only talk to your immediate friends 只与直接的朋友通信.即每个对象都有耦合关系,对象之间有耦合. 定义老师类 public class Teacher{ // 老师对学生发布命令,清点学生 public void commond(GroupLeader groupLeader){ List listGirls = new ArrayList(); // 初始化学生 for(int i = 0; i < 20; i++){ listGirls.ad

迪米特法则(LoD),即最少知识原则

解释: 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用. 重点: 在类的结构上,每个类都应当尽量降低成员的访问权限. 即,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开. 根本思想: 强调了类之间的松耦合. 类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及. 即,信息的隐藏促进了软件的复用

Atitit.软件开发的几大规则,法则,与原则Principle v3

Atitit.软件开发的几大规则,法则,与原则Principle  v3 1.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里氏替换原则22.3. 设计模式六大原则(3):依赖倒置原则22.4. 设计模式六大原则(4):接口隔离原则22.5. 设计模式六大原则(5):迪米特法则22.6. 设计模式六大原则(6):开闭原则23. S.O.L.I.D原则(oo fp)33.1. Single Responsibility P

Atitit.软件开发的几大规则,法则,与原则。。。attilax总结

Atitit.软件开发的几大规则,法则,与原则... 1. 设计模式六大原则 2 1.1. 设计模式六大原则(1):单一职责原则 2 1.2. 设计模式六大原则(2):里氏替换原则 2 1.3. 设计模式六大原则(3):依赖倒置原则 2 1.4. 设计模式六大原则(4):接口隔离原则 2 1.5. 设计模式六大原则(5):迪米特法则 2 1.6. 设计模式六大原则(6):开闭原则 2 2. 面向对象的S.O.L.I.D原则 2 2.1. Single Responsibility Princip