单例模式的两种写法(饿汉式与懒汉式)

using System;

成都创新互联公司主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务汕尾,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace 单例模式

{

    ///

    /// 单例模式作用产生唯一对象

单例类只能有一个实例。

单例类必须自己创建自己的唯一实例。

单例类必须给所有其它对象提供这一实例。

应用:

每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机。

一个具有自动编号主键的表可以有多个用户同时使用,但数据库中只能有一个地方分配下一个主键编号。否则会出现主键重复。

    ///

    class Program

    {

        static void Main(string[] args)

        {

            //饿汉式

            Penson p = Penson.GetPenson();

            //懒汉式

            Animus animus = Animus.GetAnimus();

        }

    }

    class Penson

    {

        ///

        /// 单例模式之饿汉式

        ///

        //第一步设置私有的构造函数

        private Penson()

        { }

        //第二步:设置全局唯一变量

        private static Penson _penson = new Penson();

        //第三步:写返回值为Penson类型的函数

        public static Penson GetPenson()

        {

            return _penson;

        }

    }

    class Animus

    {

        ///

        /// 单例模式之懒汉式

        ///

        private Animus() { }

        private static Animus _animus = null;

        public static Animus GetAnimus()

        {

            if (_animus == null)

            {

                _animus = new Animus();

            }

            return _animus;

        }

    }

}


分享题目:单例模式的两种写法(饿汉式与懒汉式)
文章分享:http://scyanting.com/article/ggsjjg.html