在《重构》中,Martin Fowler按照重构所针对的代码内容进行了分类,包括对函数的重构、对对象特性的重构、对数据组织的重构、对条件表达式的重构以及对类层次的重构,并按照这种分类组织了章节。
除了按照重构所针对的代码内容进行分类外,按照采用手法进行分类,我觉得也可以从另一个角度帮助我们更进一步理解重构的进行方式。
通过整理,按照采用手法分类如下:
1、提炼
就是对某个过程的一部分,或某个事物的一部分进行抽象并概念化,以减小所表达的目的(要做什么)和实现(做什么,如何做)之间的语义差距。
运用提炼的重构手法包括
Extract Method、
Split Temporary Variable、
Extract Class、
Extract Subclass、
Extract Superclass、
Extract Interface等
2、内联
就是用其直接实现替换原来的间接调用,通过内联可以去掉意义不大的间接性。
运用内联的重构手法包括
Inline Method、
Inline Temp、
Inline Class
3、移动
在类之间(包括父类和子类之间)移动属性和方法,以使类之间职责更明确更清晰。
运用移动的重构手法包括
Move Method、
Move Field、
Pull Up Field、
Pull Up Method、
Pull Up Constructor Body、
Push Down Method、
Push Down Field
4、替换
将一种实现方式用另一种实现方式替代,以便于更直接更集中和更灵活
运用替换的重构手法包括
Replace Temp with Query、
Replace Method with Method Object、
Replace Date Value with Object、
Replace Array with Object、
Replace Magic Number with Symbolic Constant、
Replace Record with Data Class、
Replace Type Code with Class、
Replace Type Code with Subclasses、
Replace Type Code with State/Strategy、
Replace Subclass with Fields、
Replace Nested Conditional with Guard Clauses、
Replace Conditional with Polymorphism、
Replace Paramether with Explicit Methods、
Replace Parameter with Method、
Replace Constructor with Factory Method、
Replace Error Code with Exception、
Replace Exception with Test、
Replace Inheritance with Delegation、
Replace Delegation with Inheritance
5、改变
改变和替换语义上有些类似,其间的差别还不是很清楚
运用改变的重构手法包括
Change Value to Reference,
Change Reference to Value,
Change Unidirectional Association to Biderectional
Change Biderectional Association to Unidirectional
6、其他
包括增加Add、移除Remove、隐藏Hide、引入Introduce、封装Encapsulate、合并Consolidate等等
分享到:
相关推荐
重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf
重构-改善既有代码的设计--高清版.pdf
《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法...
重构-改善既有代码的设计 重构-改善既有代码的设计 重构-改善既有代码的设计 重构-改善既有代码的设计
一直很喜欢重构这本书,但是由于自己记性不太好,书看过之后其中的方法总是记不住,于是想如果有电子版的重构书就好了,工作中遇到重构的问题可以随时打开查阅。在网上搜索了许久,发现重构这本书有英文chm版本的,...
重构-改善既有代码的设计(高清带书签版)
《重构-改善既有代码的设计》.chm
王者归来之《重构-改善既有代码的设计 chm 中文版》经典王者 王者程序员真经!
重构--改善既有代码的设计 文字版 epub格式
重构——改善既有代码设计,经典文档,架构师必须教程
重构-改善既有代码的设计,清晰完整中文版,讲解重构过程中的方法以及注意方向。
java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版 java开发经典书籍,重构--改善既有代码的设计_中文版
重构-改善既有代码的设计(含中文PDF,英文chm)
重构----改善既有代码的设计(完整中文扫描版PDF)