在我已經完成的一對.NET C#web服務項目中,我使用單例模式的幫助訪問了數據庫靜態。然後有一天,我的朋友告訴我這是一件壞事,因爲如果對同一個數據庫實體提出了很多請求,那麼該數據庫將因爲靜態實例而被鎖定。我的朋友是否正確?我認爲每一個新的請求都會創建一個新的類實例?訪問db static = bad?
單身類的實現看起來是這樣的:
public class WebService
{
private readonly IFactory _factory;
public WebService(IFactory factory)
{
_factory = factory;
}
public IDataRepository Data
{
get
{
return _factory.GetDatabase();
}
}
}
public static class WebServiceImpl
{
private static readonly WebService _webService = new WebShop(new WebserviceFactoryImpl());
public static WebService webService { get { return _webService; } }
}
_factory.GetDatabase()返回數據庫類的新instace。
這是什麼'IFactory'接口,特別是'GetDataBase()'做了什麼? – Yogu 2013-03-09 19:55:11
它返回一個Database類的新實例。 – Poku 2013-03-09 20:47:14