- 含义:
某个函数为了实现其功能,经常从另一个类中获取大量数据。比起自身所在的类来说,更加依赖于另一个类 - 坏处:
代码结构混乱,类分功不明确,可能造成其他坏味道。 - 目标:
确定类的具体作用,并合理摆置每个函数所在的类。 - 实现方法:
- 考虑使用Move Method(搬移函数),如果只有函数内的一部分特别依赖其他类,先使用Extract Method(提炼函数), 再考虑使用Move Method(搬移函数)。
- 如果一个函数用到了多个类的功能,那需要判断哪个类拥有最多被此函数使用的数据,把这个函数和数据摆在一起,使用Extract Method(提炼函数) 将函数分解为数个较小的函数,并分别放置在不同的位置。
- 如果某些设计模式(比如策略模式,委托模式)看起来破坏了此规矩,考虑将总是变化的部分和不怎么变化的部分分开,保持变化只在一地发生。
简单易懂读《重构》 - Feature Envy (依恋情结)
最新推荐文章于 2024-08-26 07:44:27 发布