重构——10搬移函数(Move Method)

简介: 搬移函数(Move Method):你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除

搬移函数(Move Method)

你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除

一、动机

减少类之间的耦合,是系统中的类更简单,更干净利落的完成系统交付的任务

二、做法

1、检查源类中被原函数所使用的一切特性,考虑它们是否也应该被搬移。考虑是否要将使用相同特性的函数一并搬移

2、检查源类的超类和子类,看看是否有该函数的其他声明

3、在目标类中声明这个函数

4、将原函数代码复制到目标函数中。调整后者,使其在新家中能够正常运行

5、编译目标类

6、决定如何从源函数正确的引用目标对象

7、修改源函数,使之成为一个纯委托函数

8、编译测试

9、决定是否删除源函数,或将它当做一个委托函数保留下来

10、如果要移除源函数,请将源类中对函数的所有调用,替换为对目标函数的调用

11、编译,测试

目录
相关文章
|
2月前
|
C++
指针中的回调函数与qsort的深度理解与模拟
本文详细介绍了回调函数的概念及其在计算器简化中的应用,以及C++标准库函数qsort的原理和使用示例,包括冒泡排序的模拟实现。
26 1
|
6月前
|
编译器 C++ 开发者
C++一分钟之-返回值优化与Move Semantics
【6月更文挑战第19天】C++的RVO与移动语义提升效率,减少对象复制。RVO是编译器优化,避免临时对象的创建。移动语义通过右值引用和`std::move`转移资源所有权。注意RVO不是总有效,不应过度依赖。使用移动语义时,避免误用`std::move`导致对象无效。示例展示了RVO和移动构造函数的应用。理解并恰当使用这些机制能写出更高效代码。
76 3
普通函数中的this指向问题解决方案call
普通函数中的this指向问题解决方案call
57 0
|
SQL Oracle 关系型数据库
测试3——探究shrink和move原理
shrink操作的机制: 我们接下来讨论一下shrink的实现机制,我们同样使用讨论move机制的那个实验来观察.SQL> create table TEST_HWM (id int ,name char(2000)) tablespace ASSM;T...
959 0
【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )(二)
【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )(二)
153 0
【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )(二)
|
JavaScript 前端开发 网络协议
理解event loop的n重境界
event loop是JS的基础知识,但同时也是一个比较复杂的知识点。这篇文章将分享我学习event loop的一个由浅入深的过程。
282 0
理解event loop的n重境界
【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )(一)
【Groovy】循环控制 ( Number 注入函数实现循环 | times 函数 | upto 函数 | downto 函数 | step 函数 | 闭包作为最后参数可写在外面 )(一)
185 0
重构——60函数下移(Push Down Method)
函数下移(Push Down Method):超类中的某个函数只与部分子类有关;将这个函数移到相关的子类中去
1622 0
重构——58函数上移(Pull Up Method)
函数上移(Pull Up Method):有些函数,在各个子类中产生完全相同的结果;将该函数移至超类
1938 0
重构——11搬移字段(Move Field)
搬移字段(Move Field):你的程序中,某个字段被其所驻类之外的另一个类更多的用到。在目标类新建一个字段,修改源字段的所有用户,令它们该用新字段
1404 0

热门文章

最新文章