C# 单例模式

单例模式:一个类只能有一个实例对象。这样就决定了它有以下几个特点。

  1. 不能被继承,那得用sealed修饰类;
  2. 将构造函数隐藏起来,private构造函数;
  3. 公有静态方法创建单一实例;
  4. 为了保证多线程情况下的单一实例原则,还得加个线程锁;

简单代码实现如下:

public sealed class Singletion  
{  
    private static Singletion _singletion = null;  
  
    // 线程锁辅助对象  
    private static readonly object _lockObj = new object();  
  
    private Singletion()  
    {  
    }  
  
    public static Singletion Instance()  
    {  
        // 保证线程安全,多线程情况下只有一个对象实例  
        if (_singletion == null)  
        {  
            lock(_lockObj)  
            {  
                _singletion = new Singletion();  
            }  
        }  
  
        return _singletion;  
    }  
}  

参考:
设计模式笔记:单件模式(Singleton)

C# 单例模式

上一篇:macOS Monterey 12 Beta 3 (21A5284e)


下一篇:教你用PS制作超酷质感的金属文字效果