重构第十二章
总结
本章展示的是整个系统的整体重构。
1.Tease Apart Inheritance(梳理并分解继承体系):某个继承体系,同时承担两项责任。建立两个继承体系,并通过委托关系让其中一个可以调用另一个。
2.Convert_Procedural_Design_To_Objects(将过程化设计转化为对象设计):你手上有一些代码,以传统的过程化风格写就。将数据记录编程对象,将行为分开,并将行为移入相关对象之中。
3.Spearate Domain from Presentation(将领域和表述/显示分离):将数据和逻辑进行分离,最明显的使用时MVC模式的应用。
4.Extract Hierarchy(提炼继承体系):你有某个class做了太多(过多)工作,其中一部分是以大量条件式完成的。建立继承体系,以一个subclass表示一种特殊情况。
读书第一遍重构思路
Tease Apart Inheritance(梳理并分解继承体系)和Extract Hierarchy(提炼继承体系)是为了对继承体系的重构,其中前者是将原本存在的继承体系,根据不同的职责进行分离;后者是将一个任务繁杂的class根据不同任务的条件式,进行继承系统的创建。
Convert_Procedural_Design_To_Objects(将过程化设计转化为对象设计)是为了将过程化的程序转变为对象化的程序,使之可以使用面向对象的特性,更易扩展。
Spearate Domain from Presentation(将领域和表述/显示分离)最适用的地方便是在写GUI的时候,将需要展示的数据和逻辑进行分离,即MVC模式。
注意
重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!