我有需要“年”作为参数的DataProvider类(DAL)。它使用像这样:异常可抛出的构造函数和初始化。最佳做法
using (var provider = new DataProvider(year))
{
provider.SomeRepostitory.DoSomethingUsefull();
}
DataProvider构造函数代码处理配置 - 因此它可以抛出异常。不推荐使用异常抛出构造函数。所以我添加初始化方法,并把那里所有抛出代码:
var provider = new DataProvider();
provider.Init(year);
但是现在有两行代码中的一个,而不是和供应商在整个代码中创建了很多次,我就把这两条线织成织物的静态方法:
using (var provider = DataProvider.Create(year))
{
...
}
是好的还是有更好的解决方案?
预先感谢您!
这意味着每次使用“worker”方法时都必须捕获潜在的异常,尽管这可能是相当大的开销。这也意味着对该方法的第一次调用不如其余,这与良好的API设计相反, – 2010-07-12 21:00:04