引入参数对象
问题
方法包含一组重复的参数。
解决方案
用一个对象替换这些参数。
之前

后

为什么重构
在多个方法中经常遇到相同的参数组。这会导致参数本身和相关操作的代码重复。通过在单个类中合并参数,还可以将处理此数据的方法也移动到该类中,从而将其他方法从此代码中解放出来。
好处
更可读的代码。您看到的不是参数的大杂烩,而是具有易于理解的名称的单个对象。
分散在各处的相同参数组会创建它们自己的代码复制:虽然没有调用相同的代码,但会经常遇到相同的参数和参数组。
缺点
- 如果您只是将数据移动到一个新类中,而不打算将任何行为或相关操作移动到那里,那么这就开始有一种错误的味道数据类.