单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
霸王•吕布3 分钟前
C#-使用OpenTK渲染3D模型
c#·opentk·glcontrol
游乐码8 分钟前
c#封装成员变量和成员方法和访问修饰符
开发语言·c#
Never_Satisfied22 分钟前
在c#中,Jint的AsString()和ToString()的区别
服务器·开发语言·c#
Never_Satisfied22 分钟前
在c#中,获取文件的大小
java·开发语言·c#
weixin_468466851 小时前
PyTorch导出ONNX格式分割模型及在C#中调用预测
人工智能·pytorch·深度学习·c#·跨平台·onnx·语义分割
光泽雨9 小时前
C# 中 Assembly 类详解
开发语言·c#
少控科技10 小时前
C#基础训练营 - 02 - 运算器
开发语言·c#
yaoxin52112314 小时前
324. Java Stream API - 实现 Collector 接口:自定义你的流式收集器
java·windows·python
非凡ghost15 小时前
小X分身APP(手机分身类工具)
android·windows·学习·智能手机·软件需求
两千次15 小时前
图像的处理 图片裁剪工具方法 图片按比例缩放的工具方法
c#