数据泥团
症状
数据泥团中所有的数据字段就像小孩子,总喜欢成群结对地的待在一块
如果删掉众多数据字段中的一项,其他数据字段因而失去意义,就应该为它们产生一个新对象
数据泥团
病因
我们听说过:一个类应该是一个清楚的抽象,处理一些明确的责任。但是实际工作中,类会不断成长扩展。会在这加点新功能,那里加点数据,让本应该在一起的抽象散落在一个类的多个数据字段。
导致的健康问题
治疗
找出这些数据以字段形式出现的地方,把他们抽象成本该属于他们自己的类
重构手法
- 如果一个类里有很多有关系的数据Field,那么就要考虑为这些有关系的数据建立一个新家
尝试运用 Extract Class 创建数据新对象。
B站实战视频 - 如果函数参数应用很多有关系的Field
尝试运用 Introduce Parameter Object 考虑让这些分散的参数变成参数对象
B站实战视频-参考过长的参数列
*如果一个函数引用的来自同一个对象的若干个参数作为参数,可以考虑引用对象,因为如果被调用的函数改变参数,必须修改这个函数的所有引用的地方
尝试运用 Preserve Whole Object 保持对象完整
B站实战视频-参考过长的参数列
康复
所有的分散在外面的数据字段,拥有的新的对象,得到新对象后,你就可以着手寻找依恋情结,然后相关的行为移动到这个新对象中。所有的类都将在它们小小的社会中充分发挥价值。
网友评论