| 判断 | 函数与哪个模块的耦合更深 |
|---|---|
| 步骤 | 确认依赖方向 → 搬移 → 更新引用 → 删除旧位置 |
| 配套 | Move Field、提炼依赖 |
方向示意
方向示意
// 之前:Account 上计算透支费用,实则依赖 AccountType 规则
// 之后:charges 归 AccountType,Account 只做委托调用
double overdraftCharge() {
return type.overdraftCharge(daysOverdrawn);
}把函数搬到更合适的位置:引用某个模块更多的函数应住在那个模块里;搬移前先看调用方分布与依赖方向,避免制造反向依赖。
| 判断 | 函数与哪个模块的耦合更深 |
|---|---|
| 步骤 | 确认依赖方向 → 搬移 → 更新引用 → 删除旧位置 |
| 配套 | Move Field、提炼依赖 |
// 之前:Account 上计算透支费用,实则依赖 AccountType 规则
// 之后:charges 归 AccountType,Account 只做委托调用
double overdraftCharge() {
return type.overdraftCharge(daysOverdrawn);
}