软件设计原则:迪米特法则

迪米特法则主张对象之间应减少不必要的交互,提高内聚性和降低耦合度。它包括两点:1)不直接相关的类不应有依赖;2)相关类之间的依赖应限制在最小接口上。遵循这一原则可以增强系统模块的独立性,减少因修改导致的连锁反应。
摘要由CSDN通过智能技术生成

一、定义

迪米特法则要求一个对象应该对其他对象有最少的了解,所以又叫做最少知识原则

二、法则内容:

1、不该有直接依赖关系的类之间,不要有依赖:

即,不和陌生人说话,每个模块只和自己的朋友“说话”(talk),不和陌生人“说话”(talk)。
例:人——咖啡机——咖啡中,制作咖啡的加水、加咖啡豆步骤全部让咖啡机自己完成,不要对人暴露,减少间接依赖。

2、有依赖关系的类之间,尽量只依赖必要的接口(“有限知识”):

即,要求减少对朋友的了解。具体的实现方法是减少一个类对外暴露的Public方法或数据。
例:数据访问提供get、set接口,做到数据修改,内部完全控制感知。

三、目的:

1、实现高内聚: 降低类之间的耦合,由于每个对象应该尽量减少对其他对象的了解,因此,很容易使得系统的功能模块独立,相互之间不存在或者存在很少的依赖关系
2、实现低耦合: 即使两个类有依赖关系,一个类的代码改动也不会或者很少导致依赖类的代码改动

四、参考资料:

1、迪米特法则的典型应用是什么?
2、Java设计模式之迪米特法则
3、迪米特法则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值