zoukankan      html  css  js  c++  java
  • C# 设计模式单例模式(Singleton)

    所谓单例模式即所谓的一个类只能有一个实例,说白了,也就是类只能在内部实例一次,然后提供这一实例,外部无法对此类实例化。

    单例模式的特点:

    1、只能有一个实例;

    2、只能自己创建自己的唯一实例;

    3、必须给所有其他的对象提供这一实例。

    单例模式的创建方法:

    1、没有考虑多线程安全问题

    public class Singleton
    {
        private static Singleton _instance = null;
        private Singleton(){}
        public static Singleton CreateInstance()
        {
            if(_instance == null)
            {
                _instance = new Singleton();
            }
            return _instance;
        }
    }

    2、考虑多线程安全

    public class Singleton
    {
        private volatile static Singleton _instance = null;
        private static readonly object _lockrobject = new object();
        private Singleton(){}
        public static Singleton CreateInstance()
        {
            if(_instance == null)
            {
                lock(_lockrobject )
                {
                    if(_instance == null)
                         _instance = new Singleton();
                }
            }
            return _instance;
        }
    }

    3、C#,自己主动创建实例

    public class Singleton
    {
        private Singleton(){}
        public static readonly Singleton instance = new Singleton();
    }

    单例模式的应用:

    1、MDI窗体使用单例模式可以防止窗体被实例化多次。

  • 相关阅读:
    反射入门
    把数据库表的信息添加到list集合里面
    简单的事务分析及使用
    java-web与jdbc 的使用
    菜鸟入门bootstrap
    如何彻底的卸载mysql
    发生系统错误 1067,解决方案
    纯js的购物车案例
    idea里面怎么把自己项目添加maven
    js入门
  • 原文地址:https://www.cnblogs.com/sunqiliang/p/5162818.html
Copyright © 2011-2022 走看看