.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(); }
相关阅读 更多 +
排行榜 更多 +