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

  • 相关阅读:
    Eclipse中项目去除Js验证
    Web安全扫描工具
    Oracle-定时任务
    About_Return
    About_php_封装函数
    About_PHP_函数
    About_PHP_验证码的生成
    About_PHP_文件的上传
    About_MySQL Select--来自copy_03
    About_AJAX_03
  • 原文地址:https://www.cnblogs.com/sunqiliang/p/5162818.html
Copyright © 2011-2022 走看看