C#设计模式-2.1单例模式

2022/2/13 12:44:53

本文主要是介绍C#设计模式-2.1单例模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2.1 单例模式(Singleton Pattern)

2.1.1 定义

确保一个类只有一个实例,并提供一个全局访问点。

2.1.2 单例模式的UML类图

 

2.1.3 单线程单例模式代码实现

    public class Singleton
    {
        private static Singleton instance;
        private Singleton()
        { 
        }

        public static Singleton GetSingleton()
        {
            if (instance == null)
            {
                instance = new Singleton();
            }
            return instance;
        }
    }

2.1.4 多线程单例模式代码实现

  public class Singeton
    {
        private static Singeton uniqueInstance;
        private static readonly object loker = new object();

        private Singeton()
        {
        }


        public static Singeton GetSingeton()
        {
            if (uniqueInstance == null)
            {
                lock (loker)
                {
                    if (uniqueInstance == null)
                    {
                         uniqueInstance=new Singeton();
                    }
                }
            } 
            return uniqueInstance;
        }
    }

 

2.1.5 总结 

单例模式属于创建者模式的一种,

创建型模式就是用来解决对象实例化和使用的客户端耦合的模式,可以让客户端和对象实例化都独立变化,做到相互不影响。创建型模式包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。

参考连接:https://www.cnblogs.com/zhaoshujie/p/9741754.html





这篇关于C#设计模式-2.1单例模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程