美文网首页设计模式
第 5 章 Singleton 模式 -- 只有一个实例

第 5 章 Singleton 模式 -- 只有一个实例

作者: oO反骨仔Oo | 来源:发表于2018-08-31 18:11 被阅读0次
image.png

Singleton 模式

概念:确保只生成一个实例的模式。

示例

image.png
using System;

namespace SingletonPattern
{
    /// <summary>
    /// 单例
    /// </summary>
    internal class Singleton
    {
        private static readonly Singleton Instance = new Singleton();

        private Singleton()
        {
            Console.WriteLine("生成了一个实例");
        }

        /// <summary>
        /// 获取实例
        /// </summary>
        /// <returns></returns>
        public static Singleton GetInstance()
        {
            return Instance;
        }
    }
}
using System;

namespace SingletonPattern
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var obj1 = Singleton.GetInstance();
            var obj2 = Singleton.GetInstance();

            Console.WriteLine(obj1 == obj2 ? "两者是相同的实例" : "两者时不同的实例");

            Console.Read();
        }
    }
}
image.png

角色梳理

image.png

Singleton

只有一个该角色;只有一个返回唯一实例的 static 方法。

要点 & 思路

1.设限的原因,避免多个实例间的相互影响(导致的 Bug);

相关模式

AbstractFactory 模式

Builder 模式

Facade 模式

Prototype 模式

相关文章

  • 单例模式

    Singleton模式 只有一个实例 1. Singleton模式 Singleton模式的目的: 想确保任何情况...

  • 第 5 章 Singleton 模式 -- 只有一个实例

    Singleton 模式 概念:确保只生成一个实例的模式。 示例 角色梳理 Singleton 只有一个该角色;只...

  • 单例对象

    iOS单例模式(Singleton)单例模式的意思就是:只有一个实例;单例模式确保每个类只有一个实例,而且自行实例...

  • IOS单例模式

    IOS单例模式(Singleton)单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例...

  • php设计模式系列--单例模式

    模式定义 单利模式(Singleton pattern): 确保某个类只有一个实例,而且自行实例化,并向整个系统提...

  • PHP设计模式-单例模式

    单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行实例...

  • 必知必会的设计模式6

    单例模式(Singleton Pattern) 属创建类设计模式,「确保某个类只有一个实例,而且自行实例化并向整个...

  • iOS 单例模式

    一、介绍 iOS单例模式(Singleton)单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而...

  • 美团后台开发准备

    1、单例模式 单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统...

  • 单例模式

    单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,...

网友评论

    本文标题:第 5 章 Singleton 模式 -- 只有一个实例

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