简单易懂读《重构》 -Middle Man (中间人)

  • 含义:
    类中的函数存在过度委托给其他对象的情况
  • 坏处:
    多余的代码,中间人作用小
  • 目标:
    委托函数过多时,减少委托,让调用者直接访问目标类进行操作
  • 实现方法:
    • 与上一篇Message Chains相反,减少委托函数
    • 使用**Remove Middle Man(移除中间人)**来减少无用的委托对象,
    • 如果委托函数只有少数几个,可以运用**Inline Method(合并函数)**来合并方法使代码更精炼。
    • 如果这些委托类里同时还有其他行为,可以运用Replace Delegation with Inheritance (以继承代替委托) 来重构

本文涉及的重构方法

Remove Middle Man(移除中间人)
Inline Method(合并函数)
  • 作用:
    合并多余的方法
  • 重构思路:
    方法中调用的子方法如果过于简单,且不会影响代码阅读,可以直接写到该方法中而不用写过多小方法。
Replace Delegation with Inheritance (以继承代替委托)
  • 作用:
    以继承消除过多的委托函数
  • 代码实例:
//类:雇员,需要委托People对象获取people对象中的信息
class Employee {
	private Person person = new Person();
	public String getName() {
		return person.getName(); //getName是委托person的getName()方法
	}
	//其余略
}
//重构后以Employee直接继承Person,消除了委托关系。
class Employee extends Person {
	//略
}
  • 重构思路:
    如果两个类间有类似所属关系,考虑使用继承手段减少过多的委托对象的调用函数。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值