单例模式(c#)

单例模式

保证一个类只有一个实例对象,(可以不满足)且无法在后续继续生成实例对象。

  1. 懒汉模式

  2. 饿汉模式

     class Singleton
        {
            #region 懒汉模式
            //单例类唯一的对象
            //static静态,保障单例类对象的唯一性
            private static Singleton _instance = null;
    
            //确保这个类的对象不能在其他类中实例出对象
            private Singleton()
            {
    
            }
    
            //属性:是单例类对外唯一的接口
            public static Singleton Instance
            {
                get
                {
                    if(_instance == null)
                    {
                        _instance = new Singleton();
                    }
                    return _instance;
                }
            }
            #endregion
    
    
    
            #region 饿汉模式
            //private static Singleton _instance = new Singleton();
    
            //private Singleton()
            //{
    
            //}
            //public static Singleton Instance
            //{
            //    get
            //    {
            //        return _instance;
            //    }
            //}
            #endregion
        }
    

    在unity中继承了MonoBehavior的脚本不能使用new来进行实例,所以写构造函数的意义不大。(利用了静态的方法)

     private static NetManager _instance = null;
    
        public static NetManager Instance
        {
            get
            {
                return _instance;
            }
        }
    
    
        private void Awake()
        {
            _instance = this;
        }
    
上一篇:细说Java单例设计模式


下一篇:腾讯精选50题—Day16题目 237,238,292