温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-18 06:46:02 来源:网络 阅读:1074 作者:缘来没法挡 栏目:编程语言

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace 单例模式

{

    /// <summary>

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

单例类只能有一个实例。

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

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

应用:

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

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

    /// </summary>

    class Program

    {

        static void Main(string[] args)

        {

            //饿汉式

            Penson p = Penson.GetPenson();

            //懒汉式

            Animus animus = Animus.GetAnimus();

        }

    }

    class Penson

    {

        /// <summary>

        /// 单例模式之饿汉式

        /// </summary>

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

        private Penson()

        { }

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

        private static Penson _penson = new Penson();

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

        public static Penson GetPenson()

        {

            return _penson;

        }

    }

    class Animus

    {

        /// <summary>

        /// 单例模式之懒汉式

        /// </summary>

        private Animus() { }

        private static Animus _animus = null;

        public static Animus GetAnimus()

        {

            if (_animus == null)

            {

                _animus = new Animus();

            }

            return _animus;

        }

    }

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI