设计模式之单例模式(Singleton pattern)

单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

看代码:

 1 namespace SingletonPattern
 2 {
 3     public class Singleton
 4     {
 5         private static object _object = new object();
 6 
 7         private static Singleton _instance;
 8 
 9         public static Singleton CreateInstance()
10         {
11             if (_instance == null)
12             {
13                 lock (_object)
14                 {
15                     if (_instance == null)
16                     {
17                         _instance = new Singleton();
18                     }
19                 }
20             }
21             return _instance;
22         }
23     }
View Code

调用:

 1 namespace DesignPatternDemo
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             Singleton singleton1 = Singleton.CreateInstance();
 8             Singleton singleton2 = Singleton.CreateInstance();
 9             Console.WriteLine(singleton1.Equals(singleton2));
10 
11         }
12     }
13 }
View Code

运行结果:

两个对象通过equal 比较的时候,比较的是引用,由此得知 两次调用CreateInstance 只创建了一个实例

posted @ 2016-03-17 20:53  水目之痕  阅读(139)  评论(0)    收藏  举报