单例模式-精讲

单例模式-精讲

         设计模式只是一种思想,一种想法,一种解决方案,它不局限于某一种特定的编程语言,c#中可以有设计模式,

那么 java 也可以有,就连弱类型的javascript语言都可以有,我们的设计模式,不同的设计语言有不同的特性,针对不同的设计模式有不同的实现方法,

当我们完全掌握设计模式的时候,我们就完全掌握面向对象语言的特性,我们就真正的会用面向对象的思维方式来解决问题了。不仅可以解决编程上问题,

也可以解决生活上的一些问题。这里我们来讲解单例模式,当我们建立了一个类的时候,我们通过构造函数,使用new,可以new 出无数个对象,

那么如何确保,在单例模式下,我们只能new出一个对象呢?直接看代码

为什么要精讲呢,因为里面涉及到的基础知识较多,有构造函数,静态构造函数,静态字段,readonly和const的区别等,而且实现的方式也是多种多样滴

namespace SingleTonPatten
{
    //经典模式
    public class Singleton
    {
        //静态的唯一实例对象
        //保证,它是属于一个类的,而不是某个对象滴
        private static Singleton instance;
        private Singleton()
        {
            //私有构造函数,无法再内外部实例化对象
        }

        //对外公开的方法来访问这个唯一的实例
        public static Singleton GetInstance()
        {
            if (instance == null)
            {
                instance = new Singleton();
            }
            return instance;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Singleton sin = Singleton.GetInstance();
            //获取全局的唯一实例滴呀; 
        }
    }
}

 更多信息~http://www.cnblogs.com/rush/archive/2011/10/30/2229565.html

原文地址:https://www.cnblogs.com/mc67/p/4826171.html