美文网首页
{C#}设计模式辨析.单例

{C#}设计模式辨析.单例

作者: 码农猫爸 | 来源:发表于2021-08-05 07:57 被阅读0次

背景

  • 调用唯一公共资源时,重复生成实例既不经济也无必要

示例

using System;
using static System.Console;

namespace DesignPattern_Singleton
{
    public class Singleton
    {
        // 私有构造器,禁止类外实例化
        private Singleton() { }

        // 共用实例必须静态
        public static Singleton Instance = Lazy.Value;

        // 懒对象:延迟到首次调用时生成,且多线程安全
        private static Lazy<Singleton> Lazy
            => new Lazy<Singleton>(() => new Singleton());

        public void Print()
            => WriteLine("The printer is printing...");
    }

    class Demo
    {
        static void Main(string[] args)
        {
            var printer1 = Singleton.Instance;
            var printer2 = Singleton.Instance;
            WriteLine($"The printers are {(printer1 == printer2 ? "same" : "different")}.");

            printer1.Print();

            ReadKey();
        }
    }
}

相关文章

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • {C#}设计模式辨析.单例

    背景 调用唯一公共资源时,重复生成实例既不经济也无必要 示例

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • C#实现设计模式 —— 单例模式

    本文为转载,原文:C#实现设计模式 —— 单例模式 介绍 作为对象的创建模式,单例模式确保某一个类只有一个实例,而...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • 设计模式第二篇、单例设计模式

    目录1、什么是单例设计模式2、单例设计模式的简单实现3、单例设计模式面临的两个问题及其完整实现4、单例设计模式的应...

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

网友评论

      本文标题:{C#}设计模式辨析.单例

      本文链接:https://www.haomeiwen.com/subject/bggmvltx.html