重构 改善既有代码的设计之第三章 代码的坏味道
3.15、夸夸其谈通用性(Speculative Generality)
去除非必要的钩子函数,和一些参数闲置的接口,针对这种接口,可以在去除后再改变函数声明
对应的重构手法:折叠继承体系、内联函数、内联类、改变函数声明、移除死代码
3.16、临时字段(Temporary Field)
某个字段在特定的情况下创建,给人造成对象在所有时候都需要他的错觉,然而在不被使用的情况下,猜测设立
他的初衷,就很难受,在这种情况下,我们可以把与之相关的接口都封装在一个类中
对应重构手法:提炼类、搬移函数、引入特例
3.17、过长的消息链(Message Chains)
一长串取值函数、一长串临时变量,他描述的这种情况具体是什么场景,还不是很清楚
对应重构手法:隐藏委托关系、提炼函数、搬移函数
原文是:
3.18、中间人(Middle Man)
不建议过度使用委托, 如果有一半的接口都委托给某个对象,建议直接交互;如果被委托人有其他行为,倒是可以介入中间人,这样既可以扩展原对象行为,又不必负担那么多的委托动作
对应重构手法:移除中间人、内联函数、以委托取代超类、以委托取代子类