1、Tease Apart Inheritance(梳理并分解继承体系)
如果某个继承体系同时承担两项责任,则建立两个继承体系,并通过委托关系,让其中一个可以调用另一个。
2、Convert Procedural Design To Objects(将过程化设计转化为对象设计)
如果你手上有一些传统过程化风格的代码,则将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中。
3、Separate Domain from Presentation(将领域和表述/显示分离)
即MVC
4、Extract Hierarchy(提炼继承体系)
如果你有某个类做了太多工作,且其中一部分工作是以大量条件表达式完成的,则考虑建立继承体系,以一个子类表示一种特殊情况。
总纲