单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
网硕互联的小客服1 小时前
磁盘阵列服务器和普通服务器的区别
linux·运维·服务器·windows·键盘
春人.1 小时前
Windows电脑安装USB Redirector并实现内外网跨网USB共享通信访问
windows·电脑
三好学生~张旺1 小时前
【2025 ODA teigha .NET系列开发教程 第二章】实现Winform和WPF ViewWinForms DWG&DXF 模式图纸的预览查看,缩放
c#·.net·wpf
积跬步,慕至千里1 小时前
Windows环境本地配置pyspark环境详细教程
windows·python·pyspark
三好学生~张旺1 小时前
【2025 ODA teigha .NET系列开发教程 第一章】实现WPF ViewDirectX DWG&DXF 模式图纸的预览查看,缩放
c#·.net
年少无知且疯狂2 小时前
游戏开发中常用的设计模式
c#·游戏引擎
上位机付工2 小时前
C#如何获取电脑中的端口号和硬件信息
开发语言·c#
北京-宏哥3 小时前
PC端自动化测试实战教程-1-pywinauto 环境搭建(详细教程)
windows·python·测试工具·pycharm·自动化
king2wang4 小时前
Windows 服务器访问慢解决办法
运维·服务器·windows
结衣结衣.7 小时前
【LFS/从0构建Linux系统】软件包与补丁安装及环境配置
linux·服务器·windows·操作系统·lfs