单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
时光追逐者44 分钟前
一款基于Fluent设计风格、现代化的WPF UI控件库
开发语言·ui·c#·.net·wpf·微软技术
zybsjn1 小时前
【实战】提升List性能方法有几何
microsoft·c#·list
zxy28472253011 小时前
大屏开源项目go-view二次开发1----环境搭建(C#)
c#·vue·大屏·go-view
一只小灿灿2 小时前
C# 句柄:从入门到精通
c#·句柄
图先2 小时前
Windows环境下netcat的安装与使用
windows
装疯迷窍_A4 小时前
ARCGIS国土超级工具集1.2更新说明
arcgis·c#
caifox5 小时前
C# 探险之旅:第二十六节 - 类型class(对象Object),一场“建房大业”的比喻
开发语言·c#
一丝晨光5 小时前
苹果电脑可以安装windows操作系统吗?Mac OS X/OS X/macOS傻傻分不清?macOS系统的Java支持?什么是macOS的五大API法王?
java·windows·macos·objective-c·cocoa·posix·x11
惺忪97988 小时前
C#委托入门
c#