在我完成的几个 .NET C# webservice 项目中,我在单例模式的帮助下访问了静态数据库。然后前几天我的朋友告诉我这是一件坏事,因为如果对同一个数据库实体发出大量请求,那么数据库将因为静态实例而被锁定。我朋友的假设是对的吗?我认为每个新请求都会创建一个新的类实例?
单例类的实现如下所示:
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() 返回 Database 类的新实例。