C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式)

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

模式分类:

从目的来看:

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

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

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

从范围来看:

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

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

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

C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式)_第1张图片

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

产生新对象的方法:

1, 构造器;

2, 序列化

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

C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式)_第2张图片

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

横向延伸:

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

纵向延伸:

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

<完>

你可能感兴趣的:(C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式))