重构 后4章

处理继承关系

如果子类拥有相同的字段,将该字段移至超类

 

如果子类拥有相同的函数,将该函数移至超类

 

在超类中新建构造函数,完成相同的功能,在子类中调用

 

超类中只和子类相关的函数,移到子类中

 

超类中只和子类相关的字段,移到子类中

 

类中某些特性只被某些实例用到,可以新建一个子类,将那部分特性移到子类中

 

如果两个类有相似特性,可以为两个类建立一个超类,将相同特性移至超类

 

继承改委托

子类只使用超类的一部分,或者根本不需要继承,可以在子类中新建一个超类字段,改为委托超类,以去掉继承关系

 

委托改继承

如果为了使用委托,经常编写极简单的委托函数,可以把委托改为继承

 

大型重构

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

 

将过程化设计转化为对象设计

对于过程化风格的代码,将数据记录变为对象,将大块行为分成小块,并将行为移到相关对象中

 

将领域和表述/显示分离

将领域逻辑分离出来,为它们建立独立的领域类,MVC模式

 

提炼继承体系

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

 

posted @ 2019-11-13 16:38  褐色键盘  阅读(85)  评论(0)    收藏  举报