大型重构
12.1 Tease Apart Inheritance (梳理并分解继承体系)
某个继承体系同时承担两项责任
建立两个继承体系, 并通过委托关系让其中一个可以调用另一个
12.2 Convert Procedural Design to Object (将过程化设计转化为对象设计)
你手上有一些传统过程化风格的代码
将数据记录变成对象, 将大块的行为分成小块, 并将行为移入相关对象中.
12.3 Separate Domain from Presentation (将领域和表述/显示[界面]分离)
某些GUI类之中包含了领域逻辑
将领域逻辑分离出来, 为它们建立独立的领域类.
12.4 Extract Hierarchy (提炼继承体系)
你有某个类做了太多工作, 其中一部分工作是以大量条件表达式完成的.
建立继承体系, 以一个子类表示一种特殊情况.