美文网首页重构改善既有代码设计
代码重构之对象之间的搬移

代码重构之对象之间的搬移

作者: 过期的薯条 | 来源:发表于2017-06-05 22:24 被阅读28次

1.引言

前面把代码中函数的重构记录了下,今天在记录下在对象之间搬移特性。

2.正题

《重构改善既有代码的设计》中作者提到一句话,我非常认同。每段代码只能在它应该出现的位置。举一个例子。公司项目。Android中,一般Application类主要是初始化一些sdk,全局变量的。但是我接手那个项目Application类里面不仅仅有sp操作。还要判断是否能使用照相机等操作。这些明显是不对的。以mvc架构开发app。activity里面往往会用到网络请求。一般都会把网络请求代码放到activity中。其实这样做也不合理。所以有些人会把请求网络那块专门放到network包名下。

2.1 Move Method(搬移函数)

p1.png

"Move"重构手法会先将搬移的函数变成静态,然后在“Move”才能转移成功。搬移函数的的确确要很注意函数内部的变量问题。
具体操作:

demo1.gif

2.2 Move Delegate(移入委托类)

移入之后,原类里面的函数没有被删除,这个就是和上面的手法的区别。

demo2.gif

2.3 Inline Class(将类内联化)

在idea或者android studio中没得名字叫“Inline Class”的重构手法。可是我们可以通过“Move”来实现。

p2.png

操作的gif图:

demo3.gif

2.4 Pull Members Down/Up(提炼到父类)

这个要说下。平时在写项目的时候,肯定会在写的过程中发现写的方法,可以抽取出来放到父类中。

demo4.gif

主要用到的就是这几个方法;搬移代码块的时候一定要注意代码块内部的变量。
后面会说一些重新组织数据的手法。我先看看吧

相关文章

  • 代码重构之对象之间的搬移

    1.引言 前面把代码中函数的重构记录了下,今天在记录下在对象之间搬移特性。 2.正题 《重构改善既有代码的设计》中...

  • 《重构》- 在对象之间搬移特性

    一. Move Method(搬移函数) 介绍 场景你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用...

  • 重构——在对象之间搬移特性

    在对对象的设计过程中,“决定把责任放在哪儿”即使不是最重要的事,也是最重要的事情之一。 1 Move Method...

  • 重构手法--在对象之间搬移特性

    在对象之间搬移特性 1、搬移函数 一个函数大量使用其他类的东西,高度耦合: 把函数搬到它所引用的类target c...

  • 重构-读书笔记二

    重构第七章主要说的是在对象之间搬移特性 先说自己的感受,这个是在面向对象设计期间非常重要而且不好把握的地方,具体的...

  • 《重构》学习笔记(05)-- 在对象之间搬移特性

    在对象设计的过程中,“决定把责任放在哪儿”是最重要的事情之一。但无论使用对象技术多么娴熟,也无法保证在设计对象时一...

  • 重构-在对象之后搬移特性

    引言 在对象的设计过程中,“决定把责任放在哪儿”是一件很重要的事情,如果出现问题则可以运用重构,改变自己原先的设计...

  • 在对象之间搬移特性

    0. 本章内容导图 1. 重构手法 1.1 搬移函数 概要:你的程序中,有个函数与其所驻类之外的另一个类进行更多交...

  • uboot-step 9 代码搬移不可少

    uboot-step 9 代码搬移不可少 这篇文章主要介绍了关于代码搬移的一些问题: 为什么要进行代码搬移 从哪里...

  • 002-在对象之间搬移特性

    在对象之间搬移特性 1. Move Method(搬移函数) Q:你的程序中,有个函数与其所驻类之外的另一个类进行...

网友评论

    本文标题:代码重构之对象之间的搬移

    本文链接:https://www.haomeiwen.com/subject/tfswfxtx.html