迪米特法则(最少知识原则)
如果两个类不必直接彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
迪米特法则前提:在类的结构设计上,每一个类都应当尽量降低成员的访问权限。
迪米特法则根本思想:强调了类之间的松耦合。
类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改...
分类:
其他好文 时间:
2015-06-27 16:33:14
阅读次数:
129
面向对象的特征:
主要有抽象、继承、封装和多态四个方面,下面是我们来详细分析它们的含义:
..........
面向对象的“六原则一法则”:
单一职责原则、开闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、合成聚合复用原则和迪米特法则。
................
分类:
其他好文 时间:
2015-06-09 09:58:19
阅读次数:
3045
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
外观模式完美的体现了依赖倒转原则和迪米特法则的思想,所以是比较常见的设计模式之一。
外观模式结构图如下:
定义三个子系统类public class SubSystemOne { public void methodOne(){
System.o...
分类:
其他好文 时间:
2015-06-07 14:38:46
阅读次数:
122
在开始设计模式不可避免的提到几个面向对象设计原则:1、开闭法则(OCP);2、里氏代换法则(LSP);3、依赖倒置法则(DIP);4、接口隔离法则(ISP);5、合成/聚合复用原则(CARP);6、迪米特法则(LoD)。使用设计模式的目的并非是为了目标的简单化,甚至在某些场景下,过度的使用设计模式会...
分类:
其他好文 时间:
2015-06-03 21:01:56
阅读次数:
143
这几天囫囵吞枣看了下《设计模式其实很简单》,这本书通俗易懂,说了23种设计模式。自己看书比较仓促,看书时也不愿动脑子(这一直是致命缺点),先简单的抄下这些模式,希望日后能够回补。设计模式中的六大设计原则单一职责原则。里氏代换原则。开放-封闭原则。依赖倒转原则。合成/聚合复用原则。迪米特法则。下面.....
分类:
其他好文 时间:
2015-05-29 23:00:04
阅读次数:
202
米老师布置了作业,分析23种设计模式的异同,绞尽脑汁,冥思苦想还是认为初学设计模式,此问题过于高深实在不敢妄语。可是作业始终是要交的,只好浅谈一下设计模式,如理解有误,也算留下了一个底子,日后回头再看,这便是成长。
关于分类,设计模式分为三大类,分别为行为型,创建型,和状态型。 亦有几大原则,分别为:单一职责原则、开放-封闭原则、依赖导致原则、迪米特法则。
总体来说,不论什么模...
分类:
其他好文 时间:
2015-05-28 09:35:51
阅读次数:
174
读程杰的《大话设计模式》有一段时间了,将其C#版的设计模式代码用C++全部重新实现了一遍,并记下个人的一些心得,同时也对一些设计模式进行了改造。网上有份《大话设计模式实现(C++版)》的资料,但稍看后错误不少,比如用作接口的基类不将析构函数申明为虚函数,仅内部使用的成员变量不申明为private(公然违背迪米特法则),new出的对象不进行释放等等一些错误或不良编码习惯,易误导新学C++的同学。故我将我个人实现的C++献丑放出,欢迎大家批评指正,共同进步。...
分类:
编程语言 时间:
2015-05-19 10:45:11
阅读次数:
169
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):开闭原...
分类:
其他好文 时间:
2015-05-10 17:19:01
阅读次数:
177
一个客户类需要和多个业务类交互,而这些业务类经常会作为整体出现,由于涉及到的类比较多,导致使用时代码较为复杂。外观模式通过引入一个新的外观类(Facade)来实现该功能,外观类为多个业务类的调用提供统一入口,简化了类与类之间的交互。如果没有外观类,那么每个客户类需要和多个业务类之间进行复杂的交互,系统的耦合度将很大。外观模式是迪米特法则的一种具体实现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与...
分类:
其他好文 时间:
2015-05-04 10:03:38
阅读次数:
135
迪米特法则(最少知识原则): 一个软件实体应当尽可能少的与其他实体发生相互作用。外观模式核心: -- 为子系统提供统一的入口,封装子系统的复杂性,便于客户端调用。以办理公司为例:package com.lp.facade;public interface 工商局 { void checkN...
分类:
其他好文 时间:
2015-04-17 00:54:45
阅读次数:
139