单例模式的简单应用

单例模式主要是为了确保只有单个对象被创建,主要解决一个类的对象频繁地创建与销毁

我们通过如下示例来了解单例模式的作用,以及实现方案

如上图,我们只要点击一次"普通模式"的菜单,即会创建一个新的窗体对象。

而我们如果**使用单例模式,**即点击"单例模式"菜单,当唯一对象不存在的时候,会创建一个窗体,但是当窗体已经

存在的时候,将不会创建新的窗体。

  1. // 1、定义一个私有的静态的对象
  2. //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();

 }
相关推荐
kylezhao201924 分钟前
第1章:第一节 开发环境搭建(工控场景最优配置)
开发语言·c#
钰fly3 小时前
C#文件与数据操作核心概念手册
c#
驱动开发0073 小时前
Windows_Hello_Configuration_Analysis Windows Hello 配置过程分析 setup包分析
windows·驱动开发·云计算·计算机外设·usb重定向
weixin_439706253 小时前
JAVA版日语50音训练(读音强化记忆)
windows
阿蒙Amon3 小时前
C#每日面试题-简述C#访问修饰符
windows·microsoft·c#
酩酊仙人6 小时前
ABP+Hangfire实现定时任务
后端·c#·asp.net·hangfire
潇与上海7 小时前
【Windows任务栏的文件资源管理器打不开”没有与之关联的应用”】
windows
阿蒙Amon7 小时前
C#每日面试题-属性和特性的区别
java·面试·c#
要记得喝水7 小时前
某公司C#-WPF面试题-来自nowcoder(含答案和解析)--2
c#·wpf
非凡ghost9 小时前
Floorp Browser(基于Firefox火狐浏览器)
前端·windows·学习·firefox·软件需求