单例模式详解

视频:http://www.tudou.com/programs/view/sv5PmqHteCc/

oo思想:隔离变化,职责清晰

一、模式分类

1、从目的来看:

1)创建型(Creational):负责对象创建

2)结构型(Structual):处理类和对象间的组合

3)行为型(Behaviral):类与对象交互中的职责分配

2、从范围来看

1)类模式处理类和子类的静态关系

2)对象模式处理对象间的动态关系

二、单例模式:保证一个类仅有一个实例,并提供一个该实例的全局访问点

特点:

1)私有的静态字段

2)私有的构造器

3)共有的静态的获取实例的方法

要点(单线程Singleton模式):

1)Singleton模式中的实例构造器可以设置为protected以允许子类派生

2)Singleton模式一般不要支持ICloneable接口,因为这可能会导致多个对象实例,与Singleton模式的初衷相违背

3)Singleton模式一般不要支持序列会,因为这也有肯能会导致多个对象

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

5)不能应对多线程环境:在多线程环境下,使用Singleton模式仍然有可能得到Singleton类的多个实例对象

 

posted on 2012-02-25 22:52  咚咚咚Yeah  阅读(108)  评论(0)    收藏  举报

导航