设计模式学习(1): 单例模式 (Singleton Pattern)

  设计模式 -- 单例模式(Singleton Pattern)

  实现单例模式需要做到以下几点:

  1,定义一个私有静态变量,用以保存单例类的实例.

  2,构造函数私有化,用以防止被使用者实例化.

  3,为使用者提供一个全局公共访问点来使用单例类.

  下面实现一个单例类:  

双重锁方式创建实例

 

以下为使用单例类:  

使用单例类

 

 输出内容为:

实例 instace 创建时间 : 081030090139879
再来一次看看..

实例 instace1 创建时间 : 081030090139879

 

  刚才又看了下Terrylee的博文后,自己写的这个单例类的创建有点问题.

 上面用双重锁的方式来创建单例类的实例时,每次都需要检查实例是否存在,增加了系统开销,下面再以Terrylee所用的静态初始化的方式来改善下这个单例类.. 

 

以静态初始化方式创建单例类的实例

 运行结果显示两次创建实例的时间是一致的,说明只创建了一个实例.

 

参考文章:

Terrylee: .NET设计模式(2):单件模式(Singleton Pattern)

 

 

posted @ 2008-10-30 18:40 glonely 阅读(68) 评论(0) 编辑 收藏