我有需要「年」作爲參數的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