重构——11搬移字段(Move Field)

简介: 搬移字段(Move Field):你的程序中,某个字段被其所驻类之外的另一个类更多的用到。在目标类新建一个字段,修改源字段的所有用户,令它们该用新字段

搬移字段(Move Field)

你的程序中,某个字段被其所驻类之外的另一个类更多的用到。在目标类新建一个字段,修改源字段的所有用户,令它们该用新字段

一、动机

在类之间移动状态和行为很正常

二、做法

1、如果字段的访问级别是public,使用Encapsulate Field将它封装起来

2、编译,测试

3、在目标类中建立与源字段相同的字段,并同时建立相应的设值/取值函数

4、编译目标类

5、决定如何在源对象中引用目标对象

6、删除源字段

7、将所有对源字段的引用替换为对某个目标函数的调用

8、编译,测试

目录
相关文章
重构——10搬移函数(Move Method)
搬移函数(Move Method):你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除
3554 0
|
12月前
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
ABAP 数据字典里数据元素(Data Element),结构(Structure)和表类型(Table Type)三者的使用辨析试读版
Problem: 6953. 判断是否能拆分数组
Problem: 6953. 判断是否能拆分数组
41 0
重构——57字段上移(Pull Up Field)
字段上移(Pull Up Field):两个子类拥有相同的字段;将该字段移至超类
1608 0
重构——29以数据类取代记录(Replace Record with Data Class)
以数据类取代记录(Replace Record with Data Class):你需要面对传统编程环境中的记录结构;为该记录创建一个“哑”数据对象
1545 0
重构——18自封装字段(Self Encapsulate Field)
自封装字段(Self Encapsulate Field):你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙;为这个字段建立取值/设置函数,并且只以这些函数来访问字段
1833 0
|
SQL 存储 关系型数据库
LOB类型数据的MOVE
近日,新接手了一个数据库。检查某系统的时候发现,部分数据表存储在USERS表空间下了。我们怎么对LOB进行管理呢?
1569 0
|
Linux C语言
利用__attribute__((section()))构建初始化函数表【转】
转自: https://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663356&idx=1&sn=779762953029c0e0946c22ef2bb0b754&chksm=810f28a1b678a1b747520ba3ee47c9e...
1737 0
重构——61字段下移(Push Down Field)
字段下移(Push Down Field):超类中某个字段只被部分子类用到;将这个字段移到需要它的子类中去
1233 0
重构——33以字段取代子类(Replace Subclass with Fields)
以字段取代子类(Replace Subclass with Fields):你的各个子类的唯一差别只在“返回常量数据”的函数上:修改这些函数,使他们返回超类的某个新增字段,然后销毁子类
1259 0