关注互联网、IT技术!

C#技术总结:单例模式

  •  admin
  •  2011-12-31 10:12:58
  •     
记得刚开始工作的时候,做的是视频播放软件,软件会涉及很多窗口,但是每次打开一个窗口,都new一个新的示例,而这些窗口是需要经常打开关闭的,时间长了,.NET的垃圾回收机制,并不会及时的回收不需要的资源,所以内存占用,会慢慢变大。在很多其他软件中,这种情况也是经常发生。 其实对于这样的情况,单例模式就非常适用了。每个窗口只需要生成一个实例,以后不需要在重新new一个了。 基本实现方案: 1、将窗体的构造函数改成私有 2、编写一个获取单例的静态函数
namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        private static Form2 _form;

        private Form2()
        {
            InitializeComponent();
        }

        public static Form2 GetInstance()
        {
            if(_form==null||_form.IsDisposed)
                _form = new Form2();
            return _form;
        }
    }
}
调用方法:
Form2 f = Form2.GetInstance();
f.Show();
窗口不使用时,将窗口隐藏即可,不需要close 这只是一个简单的示例,实际应用中,可能会比这复杂的多,仅供参考!

相关文章

评论

称呼(可以不填)
Email(可以不填)
链接(可以不填)
请输入评论内容*