七大原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则,单一职责原则。 开闭原则是面向对象的可复用的基石。其他六种原则是手段和工具。 各规则详细(本部分为转载) http://kb.cnblogs.com/page/214010/ 正如牛顿三大定律在经典力学中的 ...
分类:
其他好文 时间:
2016-08-08 22:48:28
阅读次数:
302
LoD定义: 如果两个类不必彼此直接通信那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用. 迪米特法则首先强调的前提是在类的结构设计上,每一个类就应该尽量降低成员的访问权限,就是说不要公开的字段方法尽量不要公开.其根本思想是:强调类与 ...
分类:
其他好文 时间:
2016-08-07 09:37:14
阅读次数:
144
迪米特法则的来源:
迪米特法则又叫最少知道原则,最早是在1987年由美国Northeastern University的Ian Holland提出。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。于是就提出了迪米特法则。通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内...
分类:
其他好文 时间:
2016-07-19 23:54:16
阅读次数:
430
1、迪米特法则(Demeter Principle): 理解:最少知道原则。类之间要尽量减少关联,降低类之间的耦合性。如需要关联,可通过中介类来转达。 实现:外观(Facade)、中介(Mediator) 2、开放-封闭原则(): 理解:对系统添加新的功能时不能影响到原有的功能。 实现:a、多使用抽 ...
分类:
其他好文 时间:
2016-07-05 11:54:01
阅读次数:
169
写在文章前: 或许你写过无数代码,参与过很多大型系统的设计,但,你是否曾经思考过,你的设计可扩展、易维护么,在高速变化的互联网世界里,它能经得起这种急速变化的考验么?如果你没想过这些问题,那请先放下你那些牛逼的梦想,放下你的高傲,好好去理解、回味设计六大原则和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