简单易懂读《重构》 - Feature Envy (依恋情结)

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

本文涉及的重构方法

Move Method(搬移函数)
Extract Method(提炼函数)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值