定义: 一个对象应该对其它的对象保持最少的了解。迪米特法则又称为最少知识法则,英文全称为Least Knowledge Principle ,简称为LKP。 个人理解: 迪米特法则主要目的是类间解耦,弱耦合。只有类弱耦合了后,类的复用性才会提高。 问题由来: 类之间的关系越密切,类之间的耦合程度越高...
分类:
其他好文 时间:
2014-07-27 11:04:12
阅读次数:
222
迪米特法则(最少知识原则):如果两个类不必彼此直接通信,那么两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
(1),在类的结构设计上,每一个类都应当尽量降低成员的访问权限。
(2),迪米特法则的根本思想是强调了类的松耦合。
(3),类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成影响。
...
分类:
编程语言 时间:
2014-07-26 02:09:56
阅读次数:
293
在上一篇里我们谈了谈为何设计模式,那接下来我们再浅谈一下在面向对象设计中我们经常要遵循的一些原则。这些原则是经过无数的前人总结出来的经验的结晶。只有遵循这些原则,你才有可能涉及出优秀的代码。今天我们要谈的原则有七大原则,即:单一职责,里氏替换,迪米特法则,依赖倒转,接口隔离,合成/聚合原则,开放-封闭 。
1. 开闭原则
定义:软件实体应当对扩展开放,对修改关闭。这句话说得有点专业,...
分类:
其他好文 时间:
2014-07-01 07:56:00
阅读次数:
200
设计模式六大原则(5):迪米特法则定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对...
分类:
其他好文 时间:
2014-06-25 18:08:50
阅读次数:
184
中介者(Mediator)模式:用一个中介对象来封装一系列的对象交互,中介者使各个对象不需要显示的相互引用,从而使得耦合松散,而且可以独立的改变他们之间的交互 了解《迪米特法则》的朋友就知道,迪米特法则说的就是:一个对象应当对其它对象有尽可能少的了解迪米特法则的核心观念就是类间解耦,弱耦合,只有弱....
分类:
其他好文 时间:
2014-06-17 15:13:10
阅读次数:
216
1、背景
在图书馆借书,刚开始的时候,直接跑到相应的楼层去,到里面去转,去找要借的书,在里面溜达半天才能找到;后来知道图书馆有一个电脑查询处,然后直接在电脑上输入想要借的书,电脑就会显示你想要借的书的信息,还有所在的相关楼层存放的相关位置。
2、定义
迪米特法则(Law of Demeter)又叫作最少知识原则(LKP,Least Kno...
分类:
其他好文 时间:
2014-06-02 23:22:49
阅读次数:
292
有很多设计模式,基本上都是围绕着下面几种原则来设计的。开放封闭原则 依赖倒转原则 里氏代换原则 迪米特原则...
分类:
其他好文 时间:
2014-06-02 22:36:57
阅读次数:
229
来源:迪米特法则(LoD)最初是用来作为面向对象的系统设计风格的一种法则,是很多著名系统,如火星登陆软件系统、木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则。迪米特法则(LoD)又可分为两种:狭义的迪米特法则(LoD)和广义的迪米特法则(LoD)。概念:LOD:LOD,Law
Of Demeter...
分类:
其他好文 时间:
2014-05-26 01:20:27
阅读次数:
175
最近在学习设计模式方面的知识,首先接触到的是设计模式中的六大设计原则: 1.单一职责原则;
2.里氏替换原则;3.依赖倒置原则;4.接口隔离原则;5.迪米特法则;开闭原则。下面我来讲讲我对这六大设计自己的理解,如有欠缺地地方,请大家及时指出啊。。。
1.单一职责原则:应该有且仅有一个原因引起类的变更。通俗的说,即一个类只负责一项职责。下面我们举一个具体的例子来说明一下什么是...
分类:
其他好文 时间:
2014-05-11 03:23:19
阅读次数:
659
??
设计模式学习告一段落,一时间有点儿心乱如麻啊真是——剪不断,理还乱!思考了一阵子,也不知道究竟该如何去总结它,
但人还是要活着的,路还是要走的,硬着头皮往前闯!
仔细想想,在学习23个设计模式中,我们始终都在围绕着一个主线在思考代码的布局,那就是六大原则——开放封闭,单一职责,依赖倒转,里氏代换,迪米特法则和合成聚合复用原则。当然,并不是说...
分类:
其他好文 时间:
2014-05-08 11:15:47
阅读次数:
301