特点
根据需要安排自己的工作,只在需要添加新功能或修补错误时才进行重构。
进行大规模重构时,有必要为整个开发团队建立共识。意识到:重构正在进行,每个人都应该相应地安排自己的行动。
Tease Apart Inheritance 梳理并分解继承体系
某个继承体系同时承担两项责任
建立两个继承体系,并通过委托关系让其中一个可以调用另一个。
如果继承体系中的某一特定层级上的所有类,其子类名称都以相同的形容词开始,那么这个体系很可能就承担着两项不同的责任。
ConvertProcedural Design to Objects 将过程化设计转化为对象设计
手上有些传统过程化风格的代码
将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中。
Separate Domain from Presentation 将领域和表述/显示分离
某些GUI类之中包含了领域逻辑
将领域逻辑分离出来,为它们建立独立的领域类。
Extract Hierarchy 提炼继承体系
你有某个类做了太多工作,其中一部分工作是以大量条件表达式完成
建立继承体系,以一个子类表示一种特殊情况。
以上重构都包含前面章节提到的一系列或一组重构手法。
说明
《重构-改善既有代码的设计》Martin Fowler 摘要: 第十二章 大型重构
你也可以访问:http://txidol.github.io 获取更多的信息