创建型-Singleton

一、定义

  保证一个类仅有一个实例,并提供一个访问它的全局访问点。

二、UML Class Diagram

    

三、实现

  让类自身负责维护保存它的唯一实例,类自身保证没有其它的实例可以被创建,并且提供一个一访问实例的方法。

  A、传统实现方式

    public class Singleton    

      {       

      private static Singleton instnace;     

         private static object syncRoot = new object();     

            private Singleton()         {        }                

            public static Singleton GetInstance()

    {            

      if (instnace != null)            

      {                

        lock (syncRoot)                

        {                    

          if (instnace == null)                    

          {                        

            instnace = new Singleton();                    

          }                

      }           

    }            

     return instnace;        

  }    

  }

  B、利用NET CLR静态构造方法只执行一次的特点

  public class Singleton   

  {      

      private static Singleton instnace;            

             static Singleton()         {             instnace = new Singleton();         }   

            private Singleton()         {        }               

            public static Singleton GetInstance()         {     return instnace;          }   

  }

posted on 2013-04-12 18:04  396360535  阅读(95)  评论(0)    收藏  举报