组合运用

梳理并分解继承体系(Tease ApartInheritance)

  • 某个继承体系同时承担两项责任。建立两个继承体系,并通过委托关系让其中一个可以调用另一个。

将过程化设计转化为对象设计(Convert Procedural Design toObjects)

  • 你手上有一些传统过程化风格的代码。将数据记录变成对象,将大块的行为分成小块,并将行为移入相关对象之中。

将领域和表述/显示分离(Separate Domain fromPresentation)

某些GUI类之中包含了领域逻辑。将领域逻辑分离出来,为它们建立独立的领域类。

提炼继承体系(ExtractHierarchy)。

  • 你有某各类做了太多工作,其中一部分工作是以大量条件表达式完成的。
  • 建立继承体系,以一个子类表示一种特殊情况。