3.8 数据泥团(Data Clumps)
在‘3.2 过长函数’中,我们第一次提到数据泥团这个东西。
数据泥团:总是绑在一起出现的数据,就好像一家人一般。
当数据泥团出现时,我们就要考虑,是否应该把它们组合成一个类,同时思考这样是否合适。
如果确定要组合,请参考以下重构方法:
-
提炼类(7.3 Extract Class):相关字段放到一个新类中。
-
引入参数对象(10.9 Introduce Parameter Object):用对象代替多个参数。
-
保持对象完整(10.7 Preserve Whole Object):将参数中来自同一对象的值去掉,用此对象代替。
一般而言,数据泥团就是参数列,通过以上方法可以将参数列缩短。
也就是说,坏味道是成股出现的,过长的参数列的同时,也许伴有数据泥团。
如果你不确定几个参数是不是数据泥团,可以尝试删掉这些参数中的某个,然后看看其他数据有没有失去意义?如果它们不再有意义,那么,它们就应该是一个类。
当解决完数据泥团,得到新对象时,就应该就此寻找一下