分类: WINDOWS
2009-08-07 16:49:28
一、单例模式意图
保证一个类有且只有一个实例,并提供一个访问它的全局访问点。
二、单例模式UML图(该图来至)
三、示例解说单例模式
看看下面这个简单的示例:
1namespace DesignPattern.Singleton
提供一个静态的私有属性,并提供get来实现一个简单的单例.此外我们还可以通过静态只读属性来实现.看看下面这个MSDN上提供的示例:
2{
3 public class Singleton
4 {
5 //静态私有属性
6 private static Singleton instance;
7
8 ///
9 /// 私有构造器--让类的使用者调用不到此构造器
10 ///
11 private Singleton()
12 { }
13
14 public static Singleton Instance
15 {
16 get
17 {
18 if (instance == null)
19 {
20 instance = new Singleton();
21 }
22 return instance; //返回的总是第一次实例的对象
23 }
24 }
25 }
26
27 //测试类
28 class TestSingleton
29 {
30 public static void Main2(string[] args)
31 {
32 Singleton t1 = Singleton.Instance;
33 Singleton t2 = Singleton.Instance;
34 Console.WriteLine(object.ReferenceEquals(t1, t2) == true);
35 }
36 }
37}