单例模式
Posted zkbfighting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
namespace ConsoleApplication1 { public class SimpleDemo { //static 被静态修饰的变量,在内存中只有一份 public static SimpleDemo instance; public static SimpleDemo Getinstance(string n) { if (instance == null) { instance = new SimpleDemo(); instance.name = n;//因为instance是SimpleDemo的实例,所以name是可以调出来的 } return instance;
} //..其他的还可以写其他的属性字段 public string name; } class Program { static void Main(string[] args) { SimpleDemo s6 = SimpleDemo.Getinstance("s6"); Console.WriteLine(s6.name); SimpleDemo s2 = SimpleDemo.Getinstance("s2"); Console.WriteLine(s2.name); //输出的结果都是s6,因为在开始运行到s6的时候,instance是未创建的,是空的;所以会创建一个新的实例, //等到第二次去运行s2的时候,instance已经创建完成了,直接返回的还是s6的实例, //无论创建多少的SimpleDemo的实例,返回的都是同一个值 //用处:思考了一下,感觉和修饰词Const一样,修饰了那个词,那个词的值就定了;只不过这里是可以让一个对象的值定了。 // 比如,超市一类物品属性值固定,就给这一类写个单例模式; //单例模式,单例模式,就是这个类被实例化了一次,所有的属性就定了;不管你再实例化多少,结果还是同样的, //实例再多还是"单例" Console.ReadKey(); } } }
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章