重构与模式》笔记:Composed Mthod
来源:互联网 发布:淘宝美工外包 编辑:程序博客网 时间:2024/06/06 14:28
原文:http://wangchen.info/Refactoring-to-Patterns-Composed-Method/
Composed Method(组合方法)是一个很小、很简单的方法,它的逻辑很快就能理解。
一旦代码中有了很多Composed Method,它就会变得易于使用、理解和扩展。
Composed Method由对其他方法的调用组成。好的Composed Method的代码都在细节的同一个层面上 。例如,下面函数中前两行和第三行代码就不在细节的同一个层面上:
12345
private void paint(Graphics g) {image=exp.getImage();g.drawImage(image, 0, 0);paintText(g);}
在应用Composed Method进行重构之后,paint()中调用的所有方法就在细节的同一层面上了:
12345678
private void paint(Graphics g) {paintImage(g);paintText(g);}private void paintImage(Graphics g) {image=exp.getImage();g.drawImage(image, 0, 0);}
绝大多数实现Composed Method的重构都涉及多次应用函数提炼 ,直到这个Composed Method通过调用其他方法完成自己大部分的工作。
一旦完成了这个重构,很可能会拥有大量很小的、私有的方法,它们将被Composed Method调用。有些人可能会认为使用这么多、这么小的方法将产生性能问题,实则不然,性能问题几乎总是由其他问题引起的。
如果在同一个类中很多方法上都应用了这一重构方法,则这个类可能充斥大量很小的方法,在这种情况下可能需要应用 提炼类 方法来进一步重构。
优点与缺点
- :) 清晰的描述了一个方法所实现的功能以及如何实现
- :) 把方法分解成命名良好的、处在细节同一层面上的行为模块,以此来简化方法
- :( 可能会产生过多的小方法
- :( 可能会使调试变得困难,因为程序的逻辑分散在许多小方法中
指导原则(摘选两条)
- Composed Method都很小。代码很少超过10行,一般在5行左右
- 保证在细节的同一层面
0 0
- 重构与模式》笔记:Composed Mthod
- 设计模式之03 Template Mthod模式
- 重构与模式
- 重构与模式
- 重构与模式
- 软件重构与设计模式培训笔记
- 重构与模式文摘
- 重构与模式目录
- 《重构与模式》目录
- 重构与模式--创建
- 重构与模式--简化
- 重构与模式--泛化
- 重构与模式--聚集
- 设计模式与重构
- 设计模式学习笔记(八):重构与模式,参考书籍
- 代码重构-笔记-适配器模式?
- 把《重构与模式》看完了
- 敏捷开发、重构与设计模式
- 深入探讨this指针
- nginx 负载均衡算法
- JAVA学习笔记2---static、new、final以及java引用的实质
- Eclipse常用快捷键的使用
- 兼容性(Flash&H5)好的上传插件
- 重构与模式》笔记:Composed Mthod
- PHP命名空间(Namespace)的使用详解
- php curl扩展
- 当启动tomcat时候出现 Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds.
- Netty概述
- 关于PHP动态转静态减轻压力的方法
- iOS创建.pch文件
- yum安装lnmp
- java内存管理