单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
vortex58 小时前
PowerShell 的命令补全方案: PSReadLine + PSCompletions + argc + Carapace
windows·powershell
Ujimatsu8 小时前
虚拟机安装Ubuntu 26.04.x服务器版(命令行版)(2026.5)
linux·windows·ubuntu
qq_4312807011 小时前
上位与基恩士PLC通讯工作记录
c#
jushi899912 小时前
Windows 10 LTSC 2021 二合一、四合一 极限精简版 - 小修
windows
十五年专注C++开发15 小时前
TypePerf:Windows 命令行性能计数器工具(CPU利用率、内存利用率、GPU利用率等)
c++·windows·typeperf
weixin_4280053015 小时前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第2天Prompt工程基础
人工智能·学习·c#·prompt
咩图16 小时前
WPF-VisualStudio-C#-Fluent.Ribbon8.0.0学习
c#·wpf·visual studio
学不思则罔16 小时前
ParallelStream并发陷阱解析
java·开发语言·windows
游乐码17 小时前
Unity坦克案例疑难记录(一)
unity·单例模式
加号317 小时前
【C#】WPF基于Halcon 的HWindowControlWPF 控件实现图像缩放、移动
开发语言·c#·wpf