我有一个采用30个参数的方法。我将参数放入一个类中,这样我就可以将一个参数(该类)传递给方法。在重构的情况下,传递封装了所有参数的对象(即使它包含了所有参数)是否完美?
最佳答案
这是一个好主意。例如,通常是在WCF中完成数据契约(Contract)的方式。
这种模型的一个优点是,如果添加一个新参数,则该类的使用者不需要更改即可添加该参数。
正如David Heffernan所提到的,它可以帮助自己编写代码:
FrobRequest frobRequest = new FrobRequest
{
FrobTarget = "Joe",
Url = new Uri("http://example.com"),
Count = 42,
};
FrobResult frobResult = Frob(frobRequest);