知识卡片
解耦便于改变
内容
耦合让一个变化被迫穿过多个模块,解耦则把改变限制在局部。好的接口隐藏内部决策,调用者只依赖承诺而非实现细节,这正是[[ETC价值观]]在代码结构上的体现。
参考来源
- 位置:《程序员修炼之道:通向务实的最高境界(第2版)》第5章《宁弯不折》话题28「解耦」(源文件:_epub-src/text/part0014_split_001.html)
- 结论依据:原文用铁道事故式链式调用说明耦合会让隐含知识扩散到整个代码,主张让代码只处理直接知道的事情来保持解耦,直接支持卡片论点。
- 原始内容:"耦合是修改之敌,因为它将事情连接在一起,要改就得一起改。……让代码害羞一点:让它只处理直接知道的事情,这将有助于保持应用程序解耦,使其更易于变更。提示44 解耦代码让改变更容易。"