http://www.jetbrains.com/idea/webhelp/extract-parameter-object.html
对于具有大量参数的方法,我一直发现将方法参数提取为对象是一个好主意。
public void Method(A a, B b, C c, D d, E e);
变成
public class Wrapper {A; B; C; D}
public void Method(Wrapper wrapper);
这使我能够:
- 在我的代码中具有更好的可读性
- 在 Wrapper 类中执行这些参数的验证,并在需要时跨层/组件重用它。
- 提供不那么脆弱的方法签名。
您对此是否有任何其他优点/缺点可以帮助说服正在编写具有大量参数的方法的人?如果这有所作为,我正在编写 C# 4。