分类:设计模式

Singleton 模式

类别: 设计模式 发表评论

顾名思义,Singleton模式就是确保一个类只能有唯一的一个实例。Singleton模式用于对象的创建,这就意味着,如果某个类采用了Singleton模式,那么这个类被创建后,只能有一个实例可以访问。 Singleton模式的特点 Singleton类有且仅有一个实例 Singleton类在第一次被调用的时候创建这个唯一的实例 Singleton类被再次调用的时候提供这一实例 应用场景 很多时候,都需要使用Singleton模式,例如希望在整个应用程序中只有一个连接数据库的实例,或者对文件、目录的操作等等 简单分析 定义一个静态的私有变量,来标识是否已经产生过实例 不直接使用类的构造函数,而是提供一个静态的方法来构造类的实例 将类的构造函数设置为Private从而将构造函数隐藏起来,以防止通过调用构造函数来产生类的实例 具体实现 实现Singleton模式有几种方法。 方法1:懒实例化 class SingletonDemo1 { private static SingletonDemo1 instance = null;   private SingletonDemo1() { }   public static SingletonDemo1 GetInstance() { if (null == instance) { instance = new SingletonDemo1(); } return instance; } } GetInstance 方法也可以用属性来实现: class SingletonDemo1 { private static [...]