04 单例模式/Singleton.cs

(完整代码) 1KB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 单例模式
{
    /// <summary>
    /// 为了节约系统资源,有时需要确保系统中某个类只有唯一一个实例,当这个唯一实例创建成功之后,
    /// 我们无法再创建一个同类型的其他对象,所有的操作都只能基于这个唯一实例。
    /// 
    /// 最好的方式: 采用静态内部类
    /// </summary>
    class Singleton
    {
        
        private Singleton()   //私有的构造函数,使得外部不能实例化对象
        { }

        /// <summary>
        /// 外部调用的静态方法,返回单例类
        /// 无线程锁定,性能好;CLR会保证线程安全,,
        /// </summary>
        /// <returns></returns>
        public static Singleton Instance()  
        {
            return HoldClss.instance;   //调的是 静态方法,对象唯一
        }


        /// <summary>
        /// 内部静态类(用来自己实例化),使得 类加载时 并不会实例化
        /// </summary>
        static class HoldClss  
        {
            public static Singleton instance = new Singleton();
        }

       
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。