解读设计模式----单例模式(Singleton Pattern)2011-12-28 博客园 Bēniaǒ单例模式可以保证一个类有且只有一个实例,并提供一个访问它的全局访问点.在程序设计中,有很多情况需要确保一个类只能有一个实例.从这句话可以看出,Singleton模式的核心:如何控制用户使用new对一个类的实例构造器的任意调用。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?这应该是类设计者的责任,而不是使用者的责任。一、单例模式意图保证一个类有且只有一个实例,并提供一个访问它的全局访问点。二、单例模式UML图(该图来至http://www.dofactory.com/)

三、示例解说单例模式看看下面这个简单的示例:
1namespace DesignPattern.Singleton2{3 public class Singleton4 {5 //静态私有属性6 private static Singleton instance;78 /// <summary>9 /// 私有构造器--让类的使用者调用不到此构造器10 /// </summary>11 private Singleton()12 { }1314 public static Singleton Instance15 {16 get17 {18 if (instance == null)19 {20 instance = new Singleton();21 }22 return instance; //返回的总是第一次实例的对象23 }24 }25 }2627 //测试类28 class TestSingleton29 {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}