【重构笔记】重构手法之处理继承关系
2014-04-16 16:46
239 查看
1 Pull Up Field(字段上移):两个子类拥有相同的字段,将该字段移至超类
2 Pull Up Method(函数上移)
3 Pull Up Constructor Body(构造函数本地上移):你在各个子类中拥有一些构造函数,他们的本地几乎一致,在超类中新建一个构造函数,并在子类构造函数中调用它。
4 Push Dowm Method(函数下移):超类中的函数只与部分函数有关,则讲函数移动到相关子类中
5 Push Dowm Field(字段下移):超类中的某个字段只被部分子类用到
6 Extract Subclass(提炼子类):类中的某些特性只被某些实例用到,新建子类,将那部分特性移动到子类中
7 Extract Superclass(提炼超类)
8 Extract Interface(提炼接口):实现多继承机制,如果某个类在不同环境下扮演截然不同的角色,那么接口就比提炼超类好
9 Form TemPlate Method(塑造模版函数)
10 Replace Inheritance with Delegation(以委托取代继承)和Replace Delegation with Inheritance(以继承取代委托)
001
![](http://img.blog.csdn.net/20140416164424734?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGl4aWFvbWluZ19B/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
002
![](http://img.blog.csdn.net/20140416164451781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGl4aWFvbWluZ19B/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
003
![](http://img.blog.csdn.net/20140416164519671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGl4aWFvbWluZ19B/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
---------------------------------------------------------------------------------------------------------------
现在发送在CSDN上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!
2 Pull Up Method(函数上移)
3 Pull Up Constructor Body(构造函数本地上移):你在各个子类中拥有一些构造函数,他们的本地几乎一致,在超类中新建一个构造函数,并在子类构造函数中调用它。
4 Push Dowm Method(函数下移):超类中的函数只与部分函数有关,则讲函数移动到相关子类中
5 Push Dowm Field(字段下移):超类中的某个字段只被部分子类用到
6 Extract Subclass(提炼子类):类中的某些特性只被某些实例用到,新建子类,将那部分特性移动到子类中
7 Extract Superclass(提炼超类)
8 Extract Interface(提炼接口):实现多继承机制,如果某个类在不同环境下扮演截然不同的角色,那么接口就比提炼超类好
9 Form TemPlate Method(塑造模版函数)
10 Replace Inheritance with Delegation(以委托取代继承)和Replace Delegation with Inheritance(以继承取代委托)
001
002
003
---------------------------------------------------------------------------------------------------------------
现在发送在CSDN上的文章都能在手机端查看啦,走路上班、闲暇之余可以看看手机,共勉共进!
相关文章推荐
- 计算机视觉、机器学习相关领域论文和源代码大集合
- Ubuntu下教你如何配置vim,详细。。
- tar命令实用介绍
- CentOS上 Mono 3.2.8运行ASP.NET MVC4经验
- Java日期工具类
- dhtmlx分页功能前端和后台代码展示
- kettle使用命令行运行任务(转)
- POJ 1470 Closest Common Ancestors
- JAVA调用存储过程实现分页技术。。
- 黑马程序员—Java基础加强(动态代理)
- 1-ZOC串口调试软件安装和设置方法
- Ajax基础知识整理---创建一个XMLHttpRequest对象
- Eclipse快速入门:远程调试Java应用
- 读写日志文件
- Guess a number!(判断简单题)
- 多继承
- hdu 4027 Can you answer these queries? 线段树
- C#获取文件路径的几种方法
- hdu 4027 Can you answer these queries? 线段树
- HDU 1509 Windows Message Queue