单例模式-C#

Posted .net&new

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式-C#相关的知识,希望对你有一定的参考价值。

// See https://aka.ms/new-console-template for more information
//Console.WriteLine("Hello, World!");

class SingleCase

public static SingleCase instance=null;
public string name ="";
public static SingleCase getInstance(string n)

if(instance==null)

instance = new SingleCase();
instance.name = n;

return instance;

class Program

static void Main(string[] args)

SingleCase s1 = SingleCase.getInstance("我是第一次传过来的参数");
SingleCase s2 = SingleCase.getInstance("我是第二次传过来的参数");

Console.WriteLine(s1.name);
Console.WriteLine(s2.name);
Console.ReadKey();

 

 

 

两次输出的结果是一样的,这是因为当第一次传入参数的时候,instance 为空,执行上面的方法后,name的值就变成了“我是第一次传过来的参数”,

当你第二次再次传入参数时,由于静态变量在内存中只有一个,只占一份儿,所以此时instance 已经不为空了,还会直接输出第一个参数是的instance 值,

所以,不管你输入几次参数,

嵌入式C语言设计模式 --- 单例模式

1 - 什么是单例模式?

单例模式(Singleton Pattern)是软件程序设计中最简单的设计模式之一,单例模式在设计模式分类中,是属于创建型模式,它提供了一种创建对象(实例,变量)的最佳实践方式。

顾名思义,单例(也叫单件),也就是在整个程序设计中,只存在一个单一的类(C语言中叫“类型”,通常用结构体类型表示),这个类负责创建一个对象(C语言中叫“定义变量”,通常是指结构体变量)

并且,通过这个类创建的对象,在整个程序中,有且只有一个,同时,这个类提供了一种访问这个类对象的唯一方式,并且可以对类对象直接访问,而不需要再重新创建。

使用单例模式设计的类,有以下特征:

(1)单例类,有且只有一个类对象(实例)

以上是关于单例模式-C#的主要内容,如果未能解决你的问题,请参考以下文章

C/C++编程笔记:C++单例模式详细解析!从零开始学懂单例

c语言设计模式--单例模式

[设计模式C++go]创建型模式:单例模式

C#的单例模式[关闭]

C&C++设计模式——饿汉单例模式

C&C++设计模式——饿汉单例模式