你的位置:首页 > 软件开发 > ASP.net > 一、单例模式(Singleton)

一、单例模式(Singleton)

发布时间:2016-05-26 00:00:10
单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。” 特点:一是某个类只能有一个实例; 二是它必须自行创建这个实例; ...

单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”

 

特点:一是某个类只能有一个实例;

        二是它必须自行创建这个实例;

        三是它必须自行向整个系统提供这个实例。

 

一、经典实现

using System;namespace SingletonPattern{  // 经典写法  // sealed 阻止其他类从该类继承  public sealed class ClassicalSample  {    // 用来保存唯一实例    private static ClassicalSample _classicalSample;    // 锁范围    private static readonly object obj = new object();    // 私有构造函数,阻止外部new实例化    private ClassicalSample()    {      Console.WriteLine("实例化");    }    // 统一该类的    public static ClassicalSample GetInstance()    {      // 减少锁的开销      if (_classicalSample == null)      {        // 防止多get='_blank'>线程并发        lock (obj)        {          //           if (_classicalSample == null)          {            _classicalSample = new ClassicalSample();          }        }      }      Console.WriteLine("获取实例");      return _classicalSample;    }  }}

原标题:一、单例模式(Singleton)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录