幸运星空

Lucker的程序人生

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

(根据MSDN Webcast相关课程整理)

模式分类:

从目的来看:

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

结构型(Structural):处理类与对象间的组合

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

从范围来看:

类模式:处理类与子类的静态关系

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

单件模式下的类,保证该类在系统中只有一个实例,以确保逻辑的正确性与效率。

clip_image002

常用方法:使用private型的构造函数,并使用只读属性或get方法来产生唯一的静态实例。(锁对象前进行双检查,以适用于多线程模式)

产生新对象的方法:

1, 构造器;

2, 序列化

.Net环境下一种更精简的单件模式的实现(兼容多线程环境):

clip_image004

这种方式的缺点是不支持参数化的构造对象方式。不过可以通过添加一个Initiation方法来完成对象初始化的工作。

横向延伸:

单件模式可以扩展到N件模式

纵向延伸:

单件模式中对象的构造也还是可以放在new中进行,将控制对象生成的逻辑放到构造器中,注意多线程环境下的处理。

<完>

posted on 2011-12-16 17:16  Lucker  阅读(718)  评论(0编辑  收藏  举报