单例模式的简单应用

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

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

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

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

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

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

 }
相关推荐
星辰徐哥11 小时前
Unity C#入门:变量的定义与访问权限(public/private)
unity·c#·lucene
醇氧11 小时前
WSL 安装 Ubuntu 完整步骤(Windows 10/11 通用,极简无脑版)
linux·windows·ubuntu
leoufung11 小时前
LeetCode 30:Substring with Concatenation of All Words 题解(含 C 语言 uthash 实现)
c语言·leetcode·c#
hacker70711 小时前
Visual Studio安装教程(C#开发版)
ide·c#·visual studio
SKY -dada12 小时前
Understand 使用教程
开发语言·c#·流程图·软件构建·敏捷流程·代码复审·源代码管理
skywalk816312 小时前
在 Windows 系统中,可以通过修改 VSCode 的用户数据目录和扩展目录来将插件(扩展)安装到非 C 盘
windows
虾壳云管家12 小时前
OpenClaw 2.6.6 从部署到技能使用一站式攻略
人工智能·windows·openclaw·openclaw一键部署教程·openclaw安装教程
发现你走远了13 小时前
Windows 下使用 pyenv-win:安装、迁移到 D 盘、配置镜像源与多版本切换实战
windows·pyenv-win
m0_7381207213 小时前
后渗透维权提权基础——CTF模拟红队进行权限维持(二)
前端·网络·windows·python·安全·php
YJlio14 小时前
《Windows Internals》10.5.1 ETW 概述:看懂 Windows 的“事件高速公路”
java·windows·笔记·stm32·嵌入式硬件·学习·eclipse