.Net Framework中使用的模式-Singleton模式
时间:2010-11-10 来源:9527
SqlConnectionFactory中的Singleton模式:
sealed class SqlConnectionFactory
{
public static readonly SqlConnectionFactory SingletonInstance;
static SqlConnectionFactory()
{
SingletonInstance = new SqlConnectionFactory();
}
}
Double Check 版本:
sealed class SqlConnectionFactory
{
private static volatile SqlConnectionFactory _instance;
private static object _lock = new object();
public static SqlConnectionFactory Instance()
{
if(_instance == null)
{
lock(_lock)
{
if(_instance == null)
{
_instance = new SqlConnectionFactory ();
}
}
}
return _instance;
}
}
使用volatile关键字禁止编译器对代码进行优化。
.NET平台特定实现:
sealed class SqlConnectionFactory
{
private SqlConnectionFactory() {}
public static readonly SqlConnectionFactory Instance = new SqlConnectionFactory();
}
相关阅读 更多 +
排行榜 更多 +











