我有一个采用30个参数的方法。我将参数放入一个类中,这样我就可以将一个参数(该类)传递给方法。在重构的情况下,传递封装了所有参数的对象(即使它包含了所有参数)是否完美?

最佳答案

这是一个好主意。例如,通常是在WCF中完成数据契约(Contract)的方式。

这种模型的一个优点是,如果添加一个新参数,则该类的使用者不需要更改即可添加该参数。

正如David Heffernan所提​​到的,它可以帮助自己编写代码:

FrobRequest frobRequest = new FrobRequest
{
    FrobTarget = "Joe",
    Url = new Uri("http://example.com"),
    Count = 42,
};
FrobResult frobResult = Frob(frobRequest);

07-24 21:59