单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
花落人散处36 分钟前
CDiskClean 开发历程——忽略进程_拖拽功能实现参考
c#
xcLeigh2 小时前
Unity基础:C#脚本的创建与挂载——让你的游戏物体活起来
游戏·unity·c#·教程
花落人散处3 小时前
CDiskClean 开发历程——文件&进程实时监控-实现方案参考
c#
看浪的路人5 小时前
第3讲:代码补全引擎
开发语言·windows·python
猿长大人6 小时前
C# | MediatR 入门指南:后端架构解耦
分布式·后端·架构·c#·.net
进击切图仔6 小时前
在 windows 和 ubuntu 中配置 host 文件
linux·windows·ubuntu
回忆2012初秋6 小时前
C# 中的 EAP:基于事件的异步编程全面指南(一)
开发语言·c#
烟锁池塘柳07 小时前
【亲测有效】Windows上更新NVIDIA显卡驱动的方法
windows·nvidia·显卡驱动
曹牧7 小时前
C#:Type
开发语言·c#
用户3721574261358 小时前
C# 如何在 Excel 中创建下拉列表:3 种常见数据源实现方式
c#