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窗体使用单例模式可以防止窗体被实例化多次。

  • 相关阅读:
    常用基础命令
    Vim
    Linux目录结构
    稀疏数组
    数据结构概述
    天天用的命令
    Mysql和redis的安装
    回文排列
    URL化
    在word中做复选框打对勾钩
  • 原文地址:https://www.cnblogs.com/sunqiliang/p/5162818.html
Copyright © 2011-2022 走看看