摘要:
【1】场景 你需要为提供服务的类增加一个函数,但你无法修改这个类。在客户类中建立一个函数,并以第一参数形式传入一个服务类实例。 【2】动机 2.1 如果真的用心体会过,这种事情应该发生太多次了。你正在使用一个类,它真的很好,为你提供了需要的所有服务。 而后,你又需要一项新服务,这个类却无法供应。于是 阅读全文
摘要:
【1】移除中间人 该手法和[2.5 隐藏委托关系] 正好相反。正是由于相反,才能够在实际的应用中进行灵活的变通。 可能一些委托关系需要保留,而另一些却需要移除,让客户直接使用受托对象。这些都是可以随之变通的。 对于各种不同重构手法的使用,同样没有绝对的规定,都是需要依据实际灵活使用的。真所谓“唯变通 阅读全文
摘要:
【1】源代码 【2】隐藏委托关系 【3】总结 客户通过一个委托类来调用另一个对象。 在服务类上建立客户所需的所有函数,用以隐藏委托关系。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】将类内联化 将类内联化与提炼类方法相反。请参见《2.3提炼类》 【2】总结 如果某个类没有做太多事情,将这个类中的所有特性移到另外一个类中,然后删除原类。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】提炼类 【3】总结 某个类做了应该由两个类做的事。建立一个新类,将相关的字段和函数从旧类搬移到新类。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文