设计模式——单例模式

Posted 苹果园dog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——单例模式相关的知识,希望对你有一定的参考价值。

一、简介:

单例模式是设计模式中比较简单的一种,用于确保一个类只能生成一个实例。

通常用于与界面相关的对象(如窗口)或者系统全局类对象(如DBHelper)。

二、例子

以下实例采用属性的方式返回对象,也可以改为方法,以支持初始化对象时候传参数。

1、传统单例模式(无法满足多线程环境)

public class Singleton0
    {
        private static Singleton0 instance=null;
        private Singleton0() {}//确保不可从外部new
        public static Singleton0 Instance
        {
            get
            {
                if (instance==null)
                {
                    instance = new Singleton0();
                }
                return instance;
            }
        }
    }

2、改进版单例模式(支持多线程环境)

    public class Singleton
    {
        //会首先调用类的静态构造函数,而类的静态构造函数
        //是在第一次使用类时调用,并且只读保证不可修改,从而实现单例模式
        public static readonly Singleton Instance = new Singleton();        
        private Singleton() {}
    }

 

以上是关于设计模式——单例模式的主要内容,如果未能解决你的问题,请参考以下文章

常用代码片段

性能比较好的单例写法

你熟悉的设计模式都有哪些?写出单例模式的实现代码

单例模式以及静态代码块

设计模式之单例模式

设计模式之单例模式