单例模式

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010741376/article/details/45816711 所谓单例模式就是:单例模式保证一个类仅有一个实例,同时这个类还必须提供一个访问该类的全局访问点。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010741376/article/details/45816711

所谓单例模式就是:单例模式保证一个类仅有一个实例,同时这个类还必须提供一个访问该类的全局访问点。

   单例模式又分懒汉式和饿汉式:

    懒汉式:

public class Singleton
{
    
    private static Singleton singleton;//定义一个私有的静态全局变量来保存该类的唯一实例
    private static readonly object syncObject = new object();//定义一个只读静态对象且这个对象是在程序运行时创建的

    //防止外界实例化
   private Singleton(){}

   /**
    * 定义一个全局访问点 设置为静态方法 则在类的外部便无需实例化就可以调用该方法
    * @return
    */
    public static Singleton GetInstance()
    {
        /**
         * //这里可以保证只实例化一次即在第一次调用时实例化,以后调用便不会再实例化 第一重 singleton == null
         */
        if (singleton == null)
        {
            lock (syncObject)
            {
                if (singleton == null)//第二重 singleton == null
                {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }
}
}

饿汉式:调用的时候就被创建
 public class Singleton
    {
        private static readonly Singleton singleton = new Singleton();

        private Singleton(){}

        public static Singleton GetInstance()
        {
            return singleton;
        }
    }
}


相关文章
|
6月前
|
设计模式 安全
详细讲解什么是单例模式
详细讲解什么是单例模式
|
6月前
|
SQL
单例模式
单例模式
47 0
|
设计模式 安全 编译器
2023-6-12-第三式单例模式
2023-6-12-第三式单例模式
72 0
|
6月前
|
安全 C++
C++单例模式
C++单例模式
51 1
|
6月前
|
C++
【C++ 单例模式】
【C++ 单例模式】
|
6月前
|
设计模式 安全
【单例模式】—— 每天一点小知识
【单例模式】—— 每天一点小知识
|
设计模式 安全 Java
单例模式的运用
单例模式的运用
42 0
|
设计模式 Java Spring
什么场景要使用单例模式,什么场景不能使用?
经常有小伙伴问我,设计模式学了这么久,每次看到概念也都能理解。但是,就是不知道怎么用,在哪里能用?我告诉大家,设计模式,不是为了要用而用的,而是作为前人总结下来的经验,等到哪天需要用的时候,你能想起来为你所用。
100 0
|
安全 Java
原来要这么实现单例模式
原来要这么实现单例模式
55 0
|
安全 Java
单例模式很简单
《基础系列》
117 0
单例模式很简单