机房重构之单例模式的应用

简介: 机房重构之单例模式的应用

何为单例模式

保证一个类仅有一个实例,并提供一个访问它的全局访问点。


这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。


注意事项

1、单例类只能有一个实例。

2、单例类必须自己创建自己的唯一实例。

3、单例类必须给所有其他对象提供这一实例。

机房重构的应用

//单例模式
public partial class frmActivateCard : Form
{
    //构造方法为私有private,这就堵死了外界利用new 创建此实例的可能
    private frmActivateCard()
    {
       InitializeComponent();
       //加载程序的皮肤包
       //若是窗体没有皮肤包,以下的两个this可以删掉
       this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));
       this.skinEngine1.SkinFile = Application.StartupPath + "//DeepCyan.ssk";
    }
    private static frmActivateCard frmActivate;
    //此方法是获得本类实例的唯一的全局访问点
    public static frmActivateCard GetInstance()
    {
        //若实例不存在或窗体已经被释放,new一个窗体的实例
        if (frmActivate==null || frmActivate.IsDisposed)
        {
           frmActivate = new frmActivateCard();
        }
            return frmActivate;
    }
}

调用GetInstance方法。GetInstance是一个静态方法,主要负责创建自己的唯一实例


private void MenuItemActivateCard_Click(object sender, EventArgs e)
 {
    //单例模式,调用窗体
    frmActivateCard frmactivatecard = frmActivateCard.GetInstance();
    //设置子窗体的父窗体
    frmactivatecard.MdiParent = this;
    //显示一个新窗体
    frmactivatecard.Show();
}

若是想让自己的窗体更加美观,整体舒适简洁,可以移步到这条博客winfrom窗体美化。


如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

v

相关文章
|
6月前
|
设计模式 SQL 安全
【设计模式】第二篇:单例模式的几种实现And反射对其的破坏
一个普通实例化,一个反射实例化 但是我们如果通过反射的方式进行实例化类,会有什么问题呢? public static void main(String[] args) throws Exception { Lazy1 lazy1 = getLazy1();
39 5
|
7月前
|
安全 Java 数据库
给大忙人写的单例模式的八种实现方法
给大忙人写的单例模式的八种实现方法
56 0
|
7月前
|
设计模式 安全 Java
小谈设计模式(22)—单例模式
小谈设计模式(22)—单例模式
|
设计模式 C#
C# 机房重构单例模式
C# 机房重构单例模式
72 0
|
设计模式
大话设计模式——单例模式(前奏)
大话设计模式——单例模式(前奏)
87 0
|
设计模式 SQL 安全
【设计模式学习笔记】单例模式详解(懒汉式遇上多线程问题解析基于C++实现)
【设计模式学习笔记】单例模式详解(懒汉式遇上多线程问题解析基于C++实现)
351 0
【设计模式学习笔记】单例模式详解(懒汉式遇上多线程问题解析基于C++实现)
|
设计模式 安全 Java
设计模式轻松学【二】你想学的单例模式都在这
一个类仅有一个实例,由自己创建并对外提供一个实例获取的入口,外部类可以通过这个入口直接获取该实例对象。
138 0
设计模式轻松学【二】你想学的单例模式都在这
|
设计模式 安全 Java
透彻理解单例模式
主要内容有: 该模式的介绍,包括: 引子、意图(大白话解释) 类图、时序图(理论规范) 该模式的代码示例:熟悉该模式的代码长什么样子 该模式的优缺点:模式不是万金油,不可以滥用模式 该模式的实际使用案例:了解它在哪些重要的源码中被使用
222 0
|
存储 设计模式 前端开发
觉醒吧,异步单例模式 - 不一样的单例模式
异步单例: 创建实例需要一定的时间,创建期间,交出执行权,创建完毕后,拿回执行权,返回结果。
209 0
觉醒吧,异步单例模式 - 不一样的单例模式
|
安全 Java 编译器
单例模式 的那点儿事儿
单例模式 的那点儿事儿
100 0