zoukankan      html  css  js  c++  java
  • 6大设计原则之迪米特法则

    迪米特法则的定义

    迪米特法则也称为最少知识原则,一个对象应该对其他对象有最少的了解. 通俗的讲,一个类应该对自己需要耦合或调用的类知道的最少,被调用类的内部是如何复杂都和我没关系,我就知道你的这些public方法,我就调用这么多,其他的我一概不关心.

    迪米特法则对类的低耦合提出了要求

    1.只和朋友交流

    什么是朋友呢?

    出现在成员变量、方法的输入输出参数中的类称为朋友类,而出现在方法体内部的类不属于朋友类.

    注意: 一个类只与朋友交流,不与陌生类交流,类与类之间的关系是建立在类间的,而不是方法间,因此一个方法尽量不引入一个类中不存在的对象,当然,JDK API提供的类除外

    2.朋友间也是有距离的

    一个类公开的public属性或方法越多,修改时设计的面也就越大,变更引起的风险扩散也就越大.因此,为了保持朋友类间的距离,在设计时需要反复衡量:是否还可以再减少public方法和属性,是否可以修改为private,protected等访问权限,是否可以加上final关键字等,迪米特法则要求类尽量不要对外公布太多的public方法和非静态的public变量.

    3.是自己的就是自己的

    在实际开发中经常会出现这样一个方法:放在本类中也可以,放在其他类中也没有错,那怎么去衡量呢?可以坚持这样一个原则: 如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,那就放置在本类中.


    迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高.其要求的结果就是产生了大量的中转或跳转类,导致系统的复杂性提高,同时也为维护带来了难度.在采用迪米特原则时需要反复权衡,既做到让结构清晰,有做到高内聚低耦合

  • 相关阅读:
    转载 --ios 模型-setValuesForKeysWithDictionary
    转载 ----HTML5 ---js实现json方式提交数据到服务端
    转载 项目经理需要修炼的9件事
    转载 人生,没有那么简单
    HTML5 ---localStorage储存实例
    HTML5 ---localStorage
    HTML5 --照抄书里的代码但函数无法执行、求分析( Uncaught ReferenceError: xxx is not defined)
    html5 -js判断undefined类型
    python-打印简单公司员工信息表
    python练习程序_员工信息表_基本实例
  • 原文地址:https://www.cnblogs.com/hujingnb/p/10171522.html
Copyright © 2011-2022 走看看