知识卡片

类间跳转两次以内的解耦经验法则

普通读书笔记卡 · 1874.e.1.e

内容

[[迪米特法则的定义]]要求的弱耦合会产生大量中转类,反而提高复杂度,解耦程度需要权衡。 “六度分隔理论”不能直接套用到类设计;经验法则是:一个类若跳转两次以上才能访问目标类,就 值得重构,两次以内通常可接受。发散:解耦是有限度的,为了合规而合规反而是”过犹不及”,这 与[[接口设计粒度没有固定标准]]的结论呼应。

参考来源

- 位置:《设计模式之禅(第2版)》第5章《迪米特法则》(源文件:_epub-src/text/part0021.html) - 结论依据:原文先援引六度分隔理论作类比后自行否定其可套用性,转而给出"跳转不超过两次都是可以忍受的"经验法则,并总结"解耦是有限度的……不遵循是不对的,严格执行就是'过犹不及'"。 - 原始内容:如果一个类跳转两次以上才能访问到另一个类,就需要想办法进行重构了……只要跳转不超过两次都是可以忍受的,这需要具体问题具体分析……不遵循是不对的,严格执行就是"过犹不及"。