单例模式指的是
某个对象在程序运行期间只会初始化一次
第一种在WinForm窗体程序中:点击按钮打开窗体使其唯一(作用)
1. 所要打开的窗体的构造函数必须为private;
2. 在窗体中创建个静态方法
窗体全局静态变量:static 窗体名称 frm =null;
Public 窗体名称 方法名(){
If(frm==null ||frm.IsDisposed){
Frm =new 窗体名称
}
return frm;
}
(上面代码中的IsDisposed指的是窗体是否被释放)
3.调用方法
窗体名称 frm=窗体名称.方法名();
Frm.show();
Const=static readonly
第二种类中:
Static Readonly object obj=new object();
1. 私有的构造函数
2. 私有的静态的全局变量
Static 类名 p =null;
3. 并发的问题:
锁:lock(obj)//锁住一个引用类型的变量{
}
4. 共有的静态方法
If(p==null){p=new 类名();}
return p;
最后方法体为:
If(p==null){
Lock(obj){
If(p==null){p=new 类名();}
}
}
return p;