StickyNote开发笔记3

@adens 11/28/2016 8:06:21 AM

学习了C#,就用vs2013做了个桌面便签练手巩固了.本文记录了编写代码过程中遇到的一些问题.

winform的单例模型

问题描述

在制作管理便签页面的时候,每点击一次点击管理就会创建一个管理界面.无论之前创建的管理界面是否关闭.

解决办法

将管理界面做成单例模式,使每次点击管理按钮始终出现同一个管理界面.

代码

private Manager()
 {
     InitializeComponent();
 }
 //单例模型

 private static Manager _manager = null;

 public static Manager GetManager()
 {
     if (_manager == null)
     {
         _manager = new Manager();
     }
     return _manager;
 }

声明私有的静态的Manager实例,将构造函数私有,外部访问Manager类时,通过GetManager()方法得到首次实例化的Manager对象.外部无法改变Manager的实例,完成单例模型.

非单例模型的缺点

多个Manager实例涉及保存数据的时候会造成数据存储的错乱.涉及存储路径的时候会造成文件已在其他线程打开无法访问的错误.单例模型就不存在这些问题了.

Last Modification : 11/28/2016 8:06:21 AM


In This Document