常见的项目重构的方法:
-
梳理并且分解继承体系:继承是面向对象设计语言中一个很重要的特性,特可以减少子类的代码量。同时继承也会被误用。今天为了一个功能添加了一个小类,也许明天还会为了另外一个功能添加另外一个类。时间一长你就会发现,这个类简直就是惨不忍睹。代码会出现大量的重复,而且修改也会变得很困难。要修改这个类就要把这个类中相关的变量或者功能梳理清楚,分别给他们建立相应的父类,然后在继承下去。他们分别属于不同的功能体系,必须要有相应的继承体系。
-
将过程化的代码转化为对象设计:将数据记录编程对象,将大块的行为分成小块并且将行为移入相关的对象之中。常见的场景,类中有很长很长的函数和很少的数据。我们要做的是将这个很长的含糊提炼出来放到一个单独的类中来处理。
-
将程序分层,将数据、界面、逻辑分开:这个就要提到经典的MVC模型,这个模型的价值就在于:它想用户界面和逻辑处理分开了。即界面只包含展示所用的东西;逻辑层只包含逻辑代码而不包含界面的内容。
-
提炼继承体系:一个类做了很多的事情,其中有些事情是以大量的表达式来完成的,我们应该考虑为这个情况建立起相应的继承体系,使每一个子类包含一种特殊的情况。刚开始时,我们设计的时候,是一个类实现一种功能或者一个概念,但是随着时间的推移方案的改进,可能这个类添加了另外一个概念,变成了两个概念,包含两种功能,随后变成三个四个五个等。最后这个类变得就会完全陌生了,失去了原来我们设计这个类的初衷了。