单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
云水木石25 分钟前
Android 的下一个战场:Windows 应用与游戏?
android·windows·游戏
心疼你的一切38 分钟前
三菱FX5U PLC与C#通信开发指南
开发语言·单片机·c#
爱学习的张大42 分钟前
Windows 环境下安装 OmniParser
windows
石像鬼₧魂石1 小时前
HexStrike AI 理想操作流程清单(完整功能版)
linux·人工智能·windows·学习·ubuntu
czhc11400756631 小时前
C# 1221
java·servlet·c#
xwill*2 小时前
python 字符串拼接
linux·windows·python
我是苏苏2 小时前
Web开发:Windows系统中使用GUI界面或cmd命令设置防火墙规则
windows
yong99903 小时前
C#实现OPC客户端与S7-1200 PLC的通信
开发语言·网络·算法·c#
sg_knight3 小时前
单例模式(Singleton)
开发语言·python·单例模式
FL16238631293 小时前
Directx修复工具修复VC++运行库时候最终有黄色感叹号解决方法
windows