单例模式主要是为了确保只有单个对象被创建,主要解决一个类的对象频繁地创建与销毁
我们通过如下示例来了解单例模式的作用,以及实现方案
如上图,我们只要点击一次"普通模式"的菜单,即会创建一个新的窗体对象。
而我们如果**使用单例模式,**即点击"单例模式"菜单,当唯一对象不存在的时候,会创建一个窗体,但是当窗体已经
存在的时候,将不会创建新的窗体。
- // 1、定义一个私有的静态的对象
- //2、定义一个公有的方法访问它,而不是再new 一个对象
cs
// 1、定义一个私有的静态对象
private static FormSingle1 frm;
//2、定义一个公有的方法访问它
public static FormSingle1 CreateFrom()
{
if (frm == null || frm.IsDisposed)
{ //当实例不存在时 或实例被释放时
frm = new FormSingle1();
}
return frm;
}
//******************************8
private void 普通模式ToolStripMenuItem_Click(object sender, EventArgs e)
{
FormCommon formCommon = new FormCommon();
formCommon.MdiParent = this;
formCommon.Show();
}
//******************************
private void 单例模式ToolStripMenuItem_Click(object sender, EventArgs e)
{
FormSingle1 frm = FormSingle1.CreateFrom();
frm.MdiParent = this;
frm.Show();
}