首页 / 软件开发 / 数据结构与算法 / 设计模式实例解析-创建型模式(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();