大型重构
梳理并分解继承体系,我觉得里面有这么几点要注意的,1不是相似类型不要使用继承;2类相关的情况下可以抽象新增类保持依赖;3将混乱的代码重构,有面向对象的思想。
ConvertProceduralDesigntoObjects将过程化的数据记录变成对象
SeparateDomainfromPresentation将领域和表述/显示分离见MVC,之前已经说过了。
ExtractHierarchy提炼继承体系,建立继承体系,以一个子类表示一种特殊情况。在一种渐进式的设计过程,一开始一个类是实现一个概念的,过段时间增加需求,可能只需要加一个flag和几段小代码就可以实现,之后一段时间过去了,可能发现这个类已经变成了相当糟糕(深有体会...)这种情况可能需要一个好的策略,将各个功能梳理分开。鉴定每一种变异,针对每类变异形成一个新的子类。
断断续续总结了重构的方法和过程,也算是对重构这本书所记得笔记,希望以后翻过来会觉得自己这些东西没有白总结,下一步要将设计模式做一遍系统的规整了,主要从大话设计模式,HeadFirst和GOF三本书进行系统学习,争取将以前忘记的都补回来。