Asp.Net 设计模式 之 “特殊”的单例模式

  • 特殊的单例模式

要点在这里,提前预览:

public SingleDemo() {
name = "yy";
age = 20;
//特殊的单例,this指代得失当前的SingleDemo
//将单例变量初始化
instance = this;
}

  • 源码部分:
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace SingleCaseModel
 8 {
 9     class SingleDemo {
10         public static SingleDemo instance;
11         public string name;
12         public int age;
13         //可以是无参构造函数
14         public SingleDemo() {
15             name = "yy";
16             age = 20;
17             //特殊的单例,this指代得失当前的SingleDemo
18             //将单例变量初始化
19             instance = this;
20         }
21         //也可以写成有参构造函数
22         public SingleDemo(string n,int a) {
23             name = n;
24             age = a;
25             //将单例变量初始化
26             instance = this;
27         }
28     }
29     class Program
30     {
31         static void Main(string[] args)
32         {
33             //调用无参构造函数,实例化SingleDemo这个类,使this关键字初始化,并能够调用构造函数
34             //instance=sd
35             //注意:SingleDemo sd = new SingleDemo();只能实例化一次,不能实例多个,
36             //否则将以最后实力的一个为基础来进行使用
37             SingleDemo sd = new SingleDemo();
38             Console.WriteLine(SingleDemo.instance.name);
39             //写成如下方式也可以,只是如果是在另外的其他页面进行调用单例模式的话,要写成上面这种
40             //Console.WriteLine(sd.name);
41             Console.ReadKey();
42         }
43     }
44 }

 

posted @ 2017-11-07 23:42  青红造了个白  阅读(169)  评论(0编辑  收藏  举报