单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
透明的玻璃杯5 小时前
window环境下使用类似tail的命令跟踪滚动的日志
windows
私人珍藏库5 小时前
【windows】跨平台 Android 刷机Root工具箱
android·windows·工具·刷机·软件·多功能
雪人不是菜鸡8 小时前
反射调用方法
c#
航Hang*8 小时前
Windows Server 配置与管理——第12章:配置数字证书服务器
运维·服务器·windows
百事牛科技10 小时前
保护文档安全:PDF限制功能实操方法
windows·pdf
夏冰加密软件11 小时前
【实测】文件加密软件解除保护的2种方法(以超级加密3000为例)
windows·安全
猫头虎11 小时前
Windows毫秒级文件名搜索工具Everything最新版下载、安装、配置、新功能解析指南
windows·everything
unicrom_深圳市由你创科技13 小时前
C# 如何实现对象序列化
开发语言·c#
成都易yisdong14 小时前
实现三北方向转换计算器(集成 WMM2025 地磁模型)
开发语言·windows·算法·c#·visual studio
idolao14 小时前
Design Expert 13安装教程 Windows版:解压+自定义路径+Crack替换指南
windows