本文介绍《重构——改善既有代码的设计》中关于大型重构的四种手法。

大型重构手法

  1. tease apart inheritance(梳理并分解继承体系)
    某个继承体系同时承担了两项责任。解决方案:建立两个独立的继承体系,并通过委托关系让其中一个可以调用另一个。
  2. convert procedural design to object(把过程化设计转换为对象设计)
    手头有一些传统过程风格的代码。解决方案:把数据记录变为对象,将大块的行为分解为小块,再把行为移到相关的对象中。
  3. separate domain from presentation(将领域与表述/界面分离)
    某些 GUI 类中包含了领域逻辑。解决方案:将领域逻辑从 GUI 类中分离出来,为它们建立独立的领域类。
  4. extract hierarchy(提炼继承体系)
    某个类承担了太多工作,其中一部分工作是通过大量条件表达式完成的。解决方案:建立继承体系,以一个子类表示一种特殊情况。