重构——50引入参数对象(Introduce Parameter Object)

引入参数对象(Introduce Parameter Object)

Range模式;某些参数总是很自然的同时出现;以一个对象取代这些参数

一、动机

1、碰到数据泥团,我们可以运用一个对象包装这些数据,那怕只是为了把这些数据组织在一起,这样做也是值得的

2、可以把这些参数的共同处理移到新对象中,减少重复代码

二、做法

1、新建一个类,用以表现你想替换的一组参数,将这个类设为不可变的

2、编译

3、针对使用改组参数的所有函数,实施Add Parameter,传入上述新建类的实例对象,并将此参数值设值为null

4、对于Data Clumps中的每一项(在此均为参数),从函数签名中移除之,并修改调用端和函数本体,令它们都改而通过新的参数对象取得该值

5、每去除一个参数,编译并测试

6、将原先的参数全部去除之后,观察有无适当函数可以运用Move Method搬移到参数对象之中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值