一。 Move Method
动机:函数搬移是重构理论的支柱。如果一个Class有太多的行为,或如果一个Class与另一个Class有太多合作而形成高度耦合,就需要搬移函数。通过这种手段,我可以是系统中的Class更简单,这些Class最终也将更干净利落的实现系统交付的任务。
常常我会浏览Class的所有函数,从中寻找这样的函数:使用另一个对象的次数比使用自己所驻对象的次数还多。一旦我移动了一些值域,就该做这样的检查。一旦发现有可能被搬移的函数,我就会观察调用了她的那一端、她调用的那一端,以及继承体系中他的任何一个从定义函数。然后,我会根据这个函数于那个对象的交流比较多,决定其移动路径。
eg。
class Account ...
private function overdraftCharge():Number {
if(_type.isPremium()) {
var result:Number = 10;
if(_daysOverdrawn > 7 ) result += (_daysOverdrawn -7)*0.85;
return result;
}
else {
return _daysOverdrawn * 1.75;
}
}
private var _type:AccountType;
private var _daysOverdrawn:int;
分享到:
相关推荐
#### 对象间搬移特性的具体重构方法 ##### Move Method(搬移函数) 当一个类中的方法与其他类有太多交集时,可以在另一个类中创建一个功能相似的新函数,然后将原函数转换为纯代理函数(Delegating Method),...
章节七 在对象之间搬移特性 章节八 重新组织数据 章节九 简化条件表达式 章节十 简化函数调用 章节十一 处理概括关系 章节十二 大型重构 章节十三 重构,复用与现实 章节十四 重构工具 章节十五 集成
15-21天,笔记可能深入到C#中的高级重构技术,如重构面向过程代码为面向对象代码,使用 LINQ 来简化数据操作,以及如何通过依赖注入来提高组件之间的灵活性。 22-28天,作者可能会探讨如何在实际项目中应用重构,...
三维重构 可以检测有效的系统缺陷,进行缺陷的定位,缺陷体积的测量等,如何进行三维重构(3D reconstuction)的输入是各种三维以下的数据,比如纯二维的RGB图像(序列)、带有深度信息的RGBD数据等,出来的是三维...
在源码层面,重构涉及多种技术,如提取函数、提取类、引入参数对象、消除重复代码等。这些技术都是为了将复杂的代码分解为更小、更易理解的部分,使得每个部分都专注于单一的责任。例如,提取函数可以帮助我们将大段...
本文主要介绍了基于Matlab的三维重构方法,通过对两幅图像的特征点进行匹配和重构,得到三维对象的结构信息。该方法可以应用于计算机视觉、机器人视觉、图像处理等领域。 一、实验目的 本实验的目的是从两幅图像中...
对象化则涉及到类的设计,通过封装、继承和多态等面向对象特性,将数据和操作数据的方法组合在一起,形成一个个具有特定行为的对象。在重构过程中,可能需要将数据库表映射为对象,每个对象代表一类数据,对象的属性...
第7章 在对象之间搬移特性 141 7.1 Move Method(搬移函数) 142 7.2 Move Field(搬移字段) 146 7.3 Extract Class(提炼类) 149 7.4 Inline Class(将类内联化) 154 7.5 Hide Delegate(隐藏“委托...
第7章 在对象之间搬移特性 7.1 Move Method(搬移函数) 7.2 Move Field(搬移字段) 7.3 Extract Class(提炼类) 7.4 Inline Class(将类内联化) 7.5 Hide Delegate(隐藏“委托关系”) 7.6 Remove Middle Man(移除...
无论是哪种数据来源,三维重构的目的都是为了在计算机中复现多孔介质的三维结构,以便进一步研究其物理特性。 多孔介质的研究不仅限于地质和材料科学领域,还涉及到环境工程、能源技术以及生命科学等众多领域。在...
Chapter 7:Moving Features Between Objects 在对象之间移动特性 *Move Method 移动方法 Move Field 移动字段 Extract Class 提取类 Inline Class 内联类 Hide Delegate 隐藏委托类 ...
本文以"重构代码笔记1"为出发点,深入探讨了24种常见的代码坏味道及其对应的重构策略。 首先,神秘命名(Mysterious Name)是重构的常见起点,通过改变函数声明和变量名,使其更具描述性,如将`cash0`更改为`cash_...
重构是指在不改变代码外部行为的前提下,对其内部结构进行改进的过程。这一过程能够帮助程序员更好地理解和维护代码,提高软件的质量。 #### 1.2 重构的目的 - **提高代码质量**:通过简化代码逻辑、减少冗余等...
#### 三、重构在面向对象设计中的应用 面向对象设计改进主要包括两大类: 1. **全新系统的设计过程**:在这个过程中,设计师基于原有的设计基础上进行不断的改进和完善,以创建一个新的系统。重构在此过程中起到了...
第7章 在对象之间搬移特性141 7.1 MoveMethod(搬移函数)142 7.2 MoveField(搬移字段)146 7.3 ExtractClass(提炼类)149 7.4 InlineClass(将类内联化)154 7.5 HideDelegate(隐藏“委托关系”)157 7.6 ...
标题所提及的“含分布式电源并网特性的配电网重构策略”主要探讨的是如何在分布式电源并网后,通过合理的网络结构调整,优化配电网的运行状态。配电网重构旨在改善网络的运行效率,降低网络损耗,提高供电质量和安全...
在IT行业中,尤其是在医疗影像处理领域,三维重构技术扮演着至关重要的角色。"NewPrjName.rar" 是一个与三维医学图像重构相关的项目文件压缩包,它涉及到的是使用C++编程语言来实现这一复杂的计算过程。这个项目的...