重构 章九笔记

27 阅读1分钟

《重构:改善既有代码的设计(第2版)》 ePUBw.COM 27个笔记

如果共享的数据需要更新,将其复制多份的做法就会遇到巨大的困难。

动机

Change Value to Reference

9.5

如果我想在几个对象之间共享一个对象,以便几个对象都能看见对共享对象的修改,那么这个共享的对象就应该是引用

不可变的数据结构处理起来更容易

如果将其视为值对象,我就会替换整个内部对象,新换上的对象会有我想要的属性值。

两者最明显的差异在于如何更新内部对象的属性:如果将内部对象视为引用对象,在更新其属性时,我会保留原对象不动,更新内部对象的属性;

在把一个对象(或数据结构)嵌入另一个对象时,位于内部的这个对象可以被视为引用对象,也可以被视为值对象。

动机

Change Reference to Value

9.4

可变数据是软件中最大的错误源头之一。

动机

Replace Derived Variable with Query

9.3

数据结构是理解程序行为的关键

动机

Rename Field

9.2

同一个变量承担两件不同的事情,会令代码阅读者糊涂。

如果变量承担多个责任,它就应该被替换(分解)为多个变量,每个变量只承担一个责任。

变量应该只被赋值一次。如果它们被赋值超过一次,就意味它们在函数中承担了一个以上的责任

Split Variable

9.1

动机

◆ 第9章 重新组织数据

第9章 重新组织数据