单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
rockey6275 小时前
AScript函数体系详解
c#·.net·script·eval·expression·function·动态脚本
liuyukuan7 小时前
如何在win11上打开 WSL2(Windows 的 Linux 子系统)?
linux·windows
寺中人7 小时前
Windows系统的动态磁盘卷
windows·系统·教程
忧郁的蛋~8 小时前
基于.NET的Windows窗体编程之WinForms数据表格
windows·.net
鼹鼠SDN11 小时前
手机访问家里局域网共享文件?MoleSDN 叶子路由一步融入家庭内网
windows·智能手机·远程控制
Han.miracle11 小时前
Redis 全套笔记:基础 API + 三大架构 + 缓存三大问题
java·windows·redis
吴可可12313 小时前
C#合并首尾相连多段线实战
算法·c#
水饺编程14 小时前
第5章,[标签 Win32] :获取设备环境的信息
c语言·c++·windows·visual studio
钮钴禄·爱因斯晨15 小时前
聚焦操作系统中的PV操作
数据库·算法·系统架构·c#
willhuo15 小时前
# 自动化数据采集技术研究与实现:基于Playwright的抖音网页自动化方案
运维·selenium·c#·自动化·chrome devtools·webview