引入参数对象(Introduce Parameter Object)
Range模式;某些参数总是很自然的同时出现;以一个对象取代这些参数
一、动机
1、碰到数据泥团,我们可以运用一个对象包装这些数据,那怕只是为了把这些数据组织在一起,这样做也是值得的
2、可以把这些参数的共同处理移到新对象中,减少重复代码
二、做法
1、新建一个类,用以表现你想替换的一组参数,将这个类设为不可变的
2、编译
3、针对使用改组参数的所有函数,实施Add Parameter,传入上述新建类的实例对象,并将此参数值设值为null
4、对于Data Clumps中的每一项(在此均为参数),从函数签名中移除之,并修改调用端和函数本体,令它们都改而通过新的参数对象取得该值
5、每去除一个参数,编译并测试
6、将原先的参数全部去除之后,观察有无适当函数可以运用Move Method搬移到参数对象之中
时间: 2024-09-20 20:35:32