知识卡片
变化的三种类型及其影响范围
内容
按[[开闭原则的定义]]可把变化归为三类:逻辑变化——只改一个方法内部计算逻辑,直接修改 即可;子模块变化——低层模块变化连带高层跟着调整;可见视图变化——界面调整常隐藏跨表跨 逻辑的业务耦合,影响最难预估。发散:这个分类的价值在于提前判断改动的”爆炸半径”,纯逻辑 变化可直接改,其余优先考虑扩展。
参考来源
- 位置:《设计模式之禅(第2版)》第6章《开闭原则》(源文件:_epub-src/text/part0023.html)
- 结论依据:原文把变化归纳为逻辑变化、子模块变化、可见视图变化三类,并分别说明各自的影响范围——逻辑变化局限于单一方法,子模块变化会引起高层模块连带调整,可见视图变化常隐藏跨表跨逻辑的业务耦合。
- 原始内容:只变化一个逻辑,而不涉及其他模块……一个模块变化,会对其他的模块产生影响,特别是一个低层次的模块变化必然引起高层模块的变化……最司空见惯的是业务耦合变化……这样的变化是比较恐怖的。