单例模式可以保证一个类有且只有一个实例,并提供一个访问它的全局访问点.在程序设计中,有很多情况需要确保一个类只能有一个实例.从这句话可以看出,Singleton模式的核心:如何控制用户使用new对一个类的实例构造器的任意调用。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?这应该是类设计者的责任,而不是使用者的责任。
一、单例模式意图
保证一个类有且只有一个实例,并提供一个访问它的全局访问点。
二、单例模式UML图(该图来至http://www.dofactory.com/)
三、示例解说单例模式
看看下面这个简单的示例:
1namespace DesignPattern.Singleton 2{ 3 public class Singleton 4 { 5 //静态私有属性 6 private static Singleton instance; 7 8 /// <summary> 9 /// 私有构造器--让类的使用者调用不到此构造器 10 /// </summary> 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}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索实例
, instance
, 单例模式
, singleton
, 模式
, 构造器
, 一个
构造器模式
singleton单例模式、singleton pattern、singleton模式、java singleton模式、c singleton模式,以便于您获取更多的相关知识。