面向对象分析与设计40讲(5)设计原则之迪米特法则

本文详细介绍了迪米特法则,又称最少知识原则,旨在降低类之间的耦合。通过实例展示了如何界定朋友,如何遵循迪米特法则进行设计,以及违反法则的后果。迪米特法则强调只与直接的朋友交流,减少对朋友的了解,以提高代码的可维护性、灵活性和测试性。虽然应用法则可能导致额外的包装器方法,但在适当的情况下,它可以有效地控制信息过载和复杂信息网的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近在研究设计原则,软件工程师我觉得称呼为 设计师更合理,软件开发就是一门综合性很强的设计工作啊。

本文将由浅入深的介绍迪米特法则,并提供丰富的正反例。

概念

迪米特法则最初是由伊恩·霍兰德(Ian Holland)于1987年秋天在东北大学发现的。迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。不和陌生人说话。

原话:Each unit should have only limited knowledge about other units: only units “closely” related to the current unit. Or: Each unit should only talk to its friends; Don’t talk to strangers.

在这种一般形式中,LoD是软件工程中众所周知的低耦合原则的更具体的例子。低耦合原则非常普遍,我们试图使其更具体。换句话说,迪米特法则就是为了实现低耦合。

这条定律正是我们从小就被告知的——不要和陌生人说话

我们经常听说有“松散耦合”的类和函数。

“松散耦合意味着这些类大多是独立的。如果A类对B类的唯一知识是B类通过其接口公开的,那么A类和B类被称为松散耦合。

根据定义,假设我们有两个类,A和B。如果类 A 允许类 B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值