写在文章前: 或许你写过无数代码,参与过很多大型系统的设计,但,你是否曾经思考过,你的设计可扩展、易维护么,在高速变化的互联网世界里,它能经得起这种急速变化的考验么?如果你没想过这些问题,那请先放下你那些牛逼的梦想,放下你的高傲,好好去理解、回味设计六大原则和23种设计模式,因为它们是你腾飞的基石。 ...
分类:
其他好文 时间:
2016-06-30 20:09:07
阅读次数:
177
迪米特法则(Demeter) 定义 一个软件实体尽量少的与其他实体发生相互作用。 原则 不要和“陌生人”说话、只与你的直接朋友通信。 其中直接朋友包含以下几类: (1) 当前对象本身(this); (2) 以参数形式传入到当前对象方法中的对象; (3) 当前对象的成员对象; (4) 如果当前对象的成 ...
分类:
其他好文 时间:
2016-06-22 21:46:16
阅读次数:
123
11.迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。在类的设计上,每一个类都应当尽量降低成员的访问权限,迪米特法则其根本思想,是强调了类之间的松耦合。 12.外观模式: 为子系统中的一组接口 ...
分类:
其他好文 时间:
2016-06-21 17:31:28
阅读次数:
145
1.单一职责 SRP 2.开闭原则 OCP 3.里氏替换原则: 4.在极特殊情况不用 5.依赖倒转原则 DIP:.针对接口编程,不要针对实现编程 6..组合/聚合原则: 组合/聚合复用 继承复用 6.接口隔离原则ISP 7.迪米特法则LOD ...
分类:
其他好文 时间:
2016-06-19 22:57:58
阅读次数:
170
概述 如果在一个系统中对象之间存在多对多的相互关系,可以将对象之间的一些交互行为从各个对象中分离出来,并集中封装在一个中介者对象中,并由该中介者进行统一协调,这样对象之间多对多的复杂关系就转化为相对简单的一对多关系。通过引入中介者来简化对象之间的复杂交互,中介者模式是“迪米特法则”的一个典型应用。 ...
分类:
其他好文 时间:
2016-06-19 01:07:27
阅读次数:
147
强调组件的封装性和信息隐藏的功能。 封装的越好,模块间的耦合越小; 隐藏的越好,组件的可用性越好。 在类的结构设计上,每一个类都应当尽量降低成员的访问权限 http://blog.csdn.net/wangjunkg/article/details/3762132 四、接口隔离原则 全称:“Inte ...
分类:
其他好文 时间:
2016-06-18 23:55:11
阅读次数:
184
解释: 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 重点: 在类的结构上,每个类都应当尽量降低成员的访问权限。 即,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。 ...
分类:
其他好文 时间:
2016-06-12 15:14:06
阅读次数:
150
5. 迪米特法则(Law of Demeter,LoD) 5.1 定义 (1)应尽量减少其他对象之间的交互,对象只和自己的朋友交谈,即对其他依赖的类越少越好(不要和太多的类发生关系)。 (2)尽量不要让类和类之间建立直接的关系,这样可减少类与类之间的依赖,降低类之间的耦合。 (3)一个类应对自己需要 ...
分类:
其他好文 时间:
2016-05-10 16:46:34
阅读次数:
194
转载请标明:http://blog.csdn.net/liulongling/article/details/51332685
迪米特原则英文名称Law of Demeter,缩写LOD,也称为最少知识原则(Least Knowledge Principle).
定义
一个对象应该对其它对象有最少的了解,从而降低各个对象之间的耦合。
为什么用迪米特原则
下面举例...
分类:
其他好文 时间:
2016-05-07 08:03:59
阅读次数:
169