yuanwoneng

学习笔记
设计模式学习笔记(1)单体模式Singleton

设计模式:单件模式(singleton)

         在软件系统中,经常有这样一些特殊的类,必须保证他们在系统中只存在一个实例,才能保证他们逻辑正确性,以及良好的效率.

         为了使设计的类只能被实例化一次,类的设计者必须对类进行单一设计.并不是使用者只实例化一次.

Gof的设计模式:保证一个类仅有一个实例,并提供一个该实例的全局访问点.
net框架中有很多地方都使用到Singleton,比如:Type对象,HttpContext.Current

Code
使用Singleton模式的几个要点:

 

1.       Singleton模式一般不要支持ICloneable接口,因为可能导致多个对象实例.

2.       Singleton模式一般不要支持序列化. 因为可能导致多个对象实例.

3.       Singleton模式只考虑到了对象创建的管理,,没有考虑对像的销毁管理.就支持垃圾回收的平台和对象的开销来讲,我们一般没有必要对其销毁进行特殊的管理.

4.       不能应对多线程环境, 因为可能导致多个对象实例.如在多线程环境构建单体,需要双检查.

多线程下singleton

Code

posted on 2009-04-02 03:43  YWN's blog  阅读(184)  评论(0)    收藏  举报