单例模式

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(); } } }

  


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

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

单例片段或保存网页视图状态

你熟悉的设计模式都有哪些?写出单例模式的实现代码

单例模式以及静态代码块