啊哈哈哈哈,又到星期五了,真开心。回来吃完饭慌着去玩游戏,所以立马过来先完成今天的学习目标。

  这个原则的命名好像是以某个人的名字命名的,算了我不去管这个了。

  直接说说我学到的东西,这个迪米特法则又可以叫做最少知识原则,意思也就是说一个对象对其它对象尽可能的最少了解。

  嗯,这个还比较好理解,不就是进行封装的意思嘛,就好比做用户控件一样,只管实现相应的功能,不要去管别人要放在哪怎么用。

  还有一种说法是 只与你有直接关系的人联系,不要和其他不知道的对象打交道。这么做可以提高自身的稳定性。

  好快就将设计模式中的六大原则都看完了,到这里 必须得回过去总结一下,这样才能有收获。

  来看看设计模式的6个原则(不要往前面看 自己想想):

  1.开闭原则(OCP):对自身结构修改关闭,对业务扩展开放。也就是竟可能的用扩展的形式扩充业务而不要去随便更改主框架。

  2.里氏代换原则(LSP):说的是子类必须要能代替父类。

  3.依赖倒置原则(DIP):意思是要依赖抽象编程,不要依赖于具体,这样做有利于上层结构的稳定性。

  4.接口隔离原则(ISP):说的是 定义接口的时候,不要把很多业务都定义到一个接口里面去,最好还是分开定义接口,这样做到时候可以实现功能的组合使用,减少接口的冗余。

  5.合成/聚合复用原则(CARP):说的是可以把一些用到的对象聚合到自己的对象中,然后通过委托任务的形式进行实现。这样就提高了复用率。减少了代码冗余。

  6.迪米特法则(LoD):就是管好自己了解一下和自己有关的东西,和自己没有关系的东西不要去了解。(呵呵这个比较直观吧)

  好了,明天好好休息,周日就要开始真正学习设计模式了。好像是有23 个设计模式,再加一个工厂模式。

《设计模式》-原则六:迪米特法则(LoD)的更多相关文章

  1. IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)

    定义 狭义的迪米特法则定义:也叫最少知识原则(LKP,Least Knowledge Principle).如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中的一个类需要调用 ...

  2. 11. 无数人难办事? - 迪米特法则(LoD)

    11.1 第一天上班 时间: 4月2日19点   地点: 小菜大鸟住所的客厅   任务: 小菜, 大鸟      "回来啦! 怎么样? 第一天上班感受多吧." 大鸟关关心的问道.  ...

  3. 设计模式原则(5)--Law of Demeter(LoD)--迪米特法则

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.定义: 一个软件实体应当尽可能少地与其他实体发生相互作用.也就是说:一个类对自己依赖的类知道的越少越好.也就是 ...

  4. 设计模式--迪米特法则(Lod/LKP)

    迪米特法则:(Law of Demeter, LoD),也称最少知识原则(Least Knowledge Principle, LKP) 理解:      假设两个类不必彼此直接通信,那么这两个类就不 ...

  5. 设计模式 第一天 UML图,设计模式原则:开闭原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则,简单工厂模式

    1 课程大纲 2 UML的概述 总结: UML unified model language 统一建模语言 一共有十种图: 类图 用例图 时序图 * 对象图 包图 组件图 部署图 协作图 状态图 (最 ...

  6. Java设计模式(3:接口隔离原则和迪米特法则详解)

    一.接口隔离原则 使用多个接口,而不使用单一的接口,客户端不应该依赖它不需要的接口.尽量的细化接口的职责,降低类的耦合度. 我们先来看一个例子: 小明家附近新开了一家动物园,里面有老虎.鸟儿.长颈鹿. ...

  7. 5迪米特法则LoD

    一.什么是迪米特法则 迪米特法则(Law of Demeter )又叫做最少知识 原则,也就是说,一个对象应当对其他对象尽可 能少的了解. 迪米特法则最初是用来作为面向对象的系统设 计风格的一种法则, ...

  8. 面向对象设计的SOLID原则、迪米特法则

    SPR(The Single Responsibility Principle):单一责任原则 OCP(The Open Closed Principle):开放封闭原则 LSP(The Liskov ...

  9. 迪米特法则(LoD)

    如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用.其根本思想是类之间的松耦合. 类之间的耦合越弱,越有利于 ...

  10. 设计模式概要 & 六原则一法则

    参考文章 http://blog.csdn.net/sinat_26342009/article/details/46419873 继承vs组合:http://www.cnblogs.com/feic ...

随机推荐

  1. 获取ios设备的udid

    今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...

  2. 评论alpha发布以及PSP

    讲解顺序: 1.  俄罗斯方块   武志远 俄罗斯方块有自己新颖的玩法加在里面 ,可以进行游戏,界面友好但不美观,与传统玩法相比增加了经验值,这是一个很好的创意,游戏运行也很流畅,并找到两名同学现场体 ...

  3. 关于es6箭头函数

    1  基本用法 ES6 允许使用 “ 箭头 ” (=>)定义函数. var f = v => v; //上面的箭头函数等同于: var f = function(v) { return v ...

  4. vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法

    1. 自己的vSphere 连接vCenter 向管理虚拟机 结果发现总是有异常. 提示如图示 VMRC控制台的连接已经断开 2. 花了比较长的时间也没搞定. 后来百度发现 关闭一个进程 然后重新登录 ...

  5. Mysql innodb 间隙锁 (转)

    MySQL InnoDB支持三种行锁定方式: 行锁(Record Lock):锁直接加在索引记录上面. 间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记 ...

  6. BZOJ5105 CodePlus2017晨跑

    这个题???我WA了两发??? #include<iostream> #include<cstdio> #include<cmath> #include<cs ...

  7. c# base64算法解密

    /// <summary> /// 将字符串使用base64算法加密 /// </summary> /// <param name="code_type&quo ...

  8. nmon

    http://www.cnblogs.com/me-sa/articles/centos0006.html

  9. java 操作命令行

    目的:用java进行调用ab压测 window: cmd ab.exe linux: sh  ab.sh 命令: abs -n 500 -c 10 https://www.baidu.com/ > ...

  10. 解题:BJOI 2006 狼抓兔子

    题面 可以看出来是最小割,然后你就去求最大流了 这么大的范围就是让你用网络流卡的?咋想的啊=.=??? 建议还是老老实实用 平面图最小割等于其对偶图最短路 这个东西来做吧,虽然这个东西跑的也挺慢的,最 ...