设计模式——单例模式

一、简介:

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

通常用于与界面相关的对象(如窗口)或者系统全局类对象(如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() {}
    }

 

posted on 2017-08-20 10:16  苹果园dog  阅读(185)  评论(0编辑  收藏  举报

导航