C#设计模式-2创建型模式-2.1单例模式

Posted on 2022-02-13 12:26  樱木007  阅读(51)  评论(0编辑  收藏  举报

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



Copyright © 2025 樱木007
Powered by .NET 9.0 on Kubernetes