重构-改善既有代码的设计-处理概括关系(继承)

处理概括关系(继承)相关重构手法

1.pull up field(字段上移)(2个子类拥有相同的字段。将该字段移到超类中)

2.pull up method(函数上移)(有些函数在各个子类中产生完全相同的额效果。将函数移到超类)

3.pull up constructor body(构造函数本体上移)(你在各个子类中拥有一些构造函数,他们的本体几乎完全一致。在超类中新建一个构造函数,并且在子类构造函数中调用它)

4.push down method(函数下移)(超类中某个函数只和部分子类有关。将这个函数移动相关的那些子类去)

5push down field(字段下移)(超类中某个字段只被部分子类用到。将这个字段移到需要他的子类中去)

6.extract subclass(提炼子类)(类中的某些特性只被某些实例用到。新建一个子类把上面的部分特性移动到子类中)

7.extract superclass(提炼超类)(2个类有相似的特性。为这2个类建立一个超类,将系统特性移到超类)

8.extract interface(提炼接口)(若干客户使用类中的同一子集,或者2个类的接口部分相同。将相同的子类提炼到一个独立接口中)

9.collapse hidearchy(折叠继承关系)
超类和子类区别并不大(将他们合为一体)

10.form template method(塑造模板函数)
你有一些子类,其中相应的某些函数以相同的额顺序执行类似的操作,但各个的细节不同。把相同操作提炼到一个函数并且移动到超类,

11.replace inheritance with delegation(委托取代继承)
某个子类只是用超类冲部分接口,或者根本不需要继承而来的数据(用组合的方式来替代继承,用一个字段来保存超类,调整子类函数,然后去掉继承关系)

12. replace delegation with inheritance(继承取代委托)
你在2个类中使用委托关系,并经常为整个接口 编写许多简单的委托函数(移除这些委托,改为继承关系)
 

 

转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/677942

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值