单例模式

单例模式,解决在使用对象实例时每次都需要声明的麻烦,其声明方式如下:

 1  /// <summary>
 2     /// 实例对象
 3     /// </summary>
 4     public class Singleton
 5     {
 6         static Singleton _install = null;
 7 
 8         //声明一个静态对象,解决多线程同时调用单例对象
 9         private static object lockObj = new object();
10 
11         /// <summary>
12         /// 构造函数声明为私有的,防止外部对象通过构造函数声明对象实例
13         /// </summary>
14         private Singleton() { }
15 
16         /// <summary>
17         /// 单例对象实例
18         /// </summary>
19         public static Singleton Install
20         {
21             get
22             {
23                 //判断单例对象是否被声明
24                 if(_install==null)
25                 {
26                     //如果没有被声明则加锁声明实例对象,加锁防止多线程同时调用
27                     lock(lockObj)
28                     {
29                         //再次判断是否已被声明,若没有则声明实例
30                         if (_install == null)
31                             _install = new Singleton();
32                     }
33                 }
34 
35                 return _install;
36             }
37         }
38     }

 

posted @ 2017-03-03 18:37  Chasel张  阅读(155)  评论(0)    收藏  举报