首页 / 软件开发 / 数据结构与算法 / 设计模式实例解析-创建型模式(Singleton、Abstract Factory、Builder)
        
            设计模式实例解析-创建型模式(Singleton、Abstract Factory、Builder)2010-03-01 博客园 顺炽国单件模式(Singleton)所谓的单件模式,就是说在系统中,一个类只存在唯一的实例,同时提供一个唯一的访问方法。在我们的开发中,经常会发生使用唯一对象的情况,例如Web开发中,要记录网站访问人数的对象;程序属性配置的对象;网络编程中,只能建立一个连接的对象等等,类似于这些应用场景,都可以应用单件模式来处理。下面举个例子来说明单件模式的使用,例子的功能是程序的配置信息管理,需要提供一个对配置的添加及读取方法,同时,只允许创建一个配置管理类的实例,代码如下:class SingletonConfig
{
 private Dictionary<string, string> lsConfig = new Dictionary<string, string>();
 /// <summary>
 /// 私有构造函数,防止外部程序调用创建新实例
 /// </summary>
 private SingletonConfig()
 {
 }
 public void Add(string key, string value)
 {
  lsConfig.Add(key, value);
 }
 public string Get(string key)
 {
  if (lsConfig.ContainsKey(key))
  {
   return lsConfig[key];
  }
  else
  {
   return null;//也可抛出异常
  }
 }
 private static SingletonConfig _instance;
 /// <summary>
 /// 配置类实例访问对象
 /// </summary>
 public static SingletonConfig Instance
 {
  get {
   if (_instance == null)
    {
     _instance = new SingletonConfig();
    }
    return _instance;
  }
 }
}上面的代码有两个需要注意的地方,一是构造函数申明为私有类型,这可以预防代码通过构造函数的方法来生成新的实例,如下面的代码将会引起编译器错误:SingletonConfig s = new SingletonConfig();