设计模式之迪米特法则
迪米特法则
定义
迪米特法则( Law of Demeter, LoD) 也称为最少知识原则( Least KnowledgePrinciple, LKP) , 虽然名字不同, 但描述的是同一个规则: 一个对象应该对其他对象有最少的了解。 通俗地讲, 一个类应该对自己需要耦合或调用的类知道得最少
要求
-
只和朋友交流
只与直接的朋友通信。 -
朋友间也是有距离的。
迪米特法则就是对这个距离进行描述, 即使是朋友类之间
也不能无话不说, 无所不知。 -
是自己的就是自己的
在实际应用中经常会出现这样一个方法: 放在本类中也可以, 放在其他类中也没有错,那怎么去衡量呢? 你可以坚持这样一个原则: 如果一个方法放在本类中, 既不增加类间关系, 也对本类不产生负面影响, 那就放置在本类中。 -
谨慎使用Serializable
最佳实践
迪米特法则的核心观念就是类间解耦, 弱耦合, 只有弱耦合了以后, 类的复用率才可以提高。 其要求的结果就是产生了大量的中转或跳转类, 导致系统的复杂性提高, 同时也为维护带来了难度。 读者在采用迪米特法则时需要反复权衡, 既做到让结构清晰, 又做到高内聚低耦合。
在实际应用中, 如果一个类跳转两次以上才能访问到另一个类, 就需要想办法进行重构了, 为什么是两次以上呢? 因为一个系统的成功不仅仅是一个标准或是原则就能够决定的, 有非常多的外在因素决定, 跳转次数越多, 系统越复杂, 维护就越困难, 所以只要跳转不超过两次都是可以忍受的, 这需要具体问题具体分析

浙公网安备 33010602011771号