外观模式概念 外观模式又称为门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个搞层次接口,使得这一个子系统更加容易使用。这一模式完美的体现了依赖倒转原则和迪米特法则的思想,所以是非常常用的模式之一。 外观模式UML图 外观模式代码 学习外观模式我使用的例子是一个打架的例子,打架一般都 ...
分类:
编程语言 时间:
2016-08-20 15:59:44
阅读次数:
175
定义: 一个对象应该对其他对象有最少的了解它包含以下四层定义
只和朋友交流
朋友类的定义是这样的:出现在成员变量、方法的输入输出函数中的类成为成员朋友类,而出现在方法体内部的类不属于朋友类。
我吧书上的例子简化了一下:
A让B去数有多少个C
A让B去数有多少个Cpublic class A{
public void command(B b){
List list...
分类:
其他好文 时间:
2016-08-14 22:22:06
阅读次数:
121
单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导 ...
分类:
其他好文 时间:
2016-08-14 07:28:54
阅读次数:
197
http://www.uml.org.cn/sjms/201211023.asp 目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则(6) ...
分类:
其他好文 时间:
2016-08-12 15:19:53
阅读次数:
192
迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP),其定义如下: 迪米特法则(Law of Demeter, LoD):一个软件实体应 ...
分类:
其他好文 时间:
2016-08-12 14:59:10
阅读次数:
157
外观模式 Facade (结构型模式) 1.概述 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式是迪米特法则的一种具体实现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与子系统的耦合度。 例如:你请朋友吃 ...
分类:
其他好文 时间:
2016-08-10 20:43:00
阅读次数:
224
七大原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则,单一职责原则。 开闭原则是面向对象的可复用的基石。其他六种原则是手段和工具。 各规则详细(本部分为转载) 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