单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
weixin_4280053011 小时前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第4天CoT思维链学习
开发语言·学习·ai·c#·cot
政沅同学11 小时前
C# TCP通讯(客户端)
网络·tcp/ip·c#
AI周红伟11 小时前
Token工厂,华为,阿里,抖音,百度,入局造Token,特朗普,买入英伟达、苹果、英特尔 ,算力工厂
大数据·人工智能·windows·百度·copilot
microxiaoxiao11 小时前
Deepin桌面环境配置TigerVNC远程桌面完整指南
linux·服务器·网络·windows
我能坚持多久11 小时前
STL详解——list的模拟实现
c++·windows·list
司晨卿12 小时前
claude windows安装
windows
我是Superman丶12 小时前
Windows 创建软链接/目录联接命令
windows
思麟呀12 小时前
在C++基础上理解CSharp-3
开发语言·c++·c#
杨云龙UP12 小时前
一次 Oracle 11g 异常不可用排查:从 ORA-01034 到磁盘 I/O 故障定位_2026-05-17
运维·数据库·windows·sql·oracle·centos
Goldbioinformatics1 天前
Windows版Claude Cowork启动Linux问题
linux·运维·windows