c# SingleTon的应用

网上有很多关于SingleTon的用法说明及实现,大多都提供了很多种实现的方法,包括如何保证在多线程时也只提供一个实例。对于他的作用都是说只提供一个实例,但是到底有什么作用,对于我们这些初学者来说并不知道如何使用。经过自己的摸索,目前了解到了一些用法,不知道对不对,请高手们指点:

比如我们在程序中设置了一个主窗口:

public partial class DefaultWorkBench :From    

{         public DefaultWorkBench()    

         {          

                      InitializeComponent();        

         }

 }

由于这个窗口我们只需要一个就行了,所以我们使用SingleTon模式。

public class WorkBenchSingleTon    

{

        private static DefaultWorkBench workBench=new DefaultWorkBench();

        public static DefaultWorkBench WorkBench

        {

            get

            {

                if (workBench == null)

                {

                    workBench = new DefaultWorkBench();

                }

                return workBench;

            }

        }

    }

那么这有什么用呢?

我们在Main方法中:Application.Run(WorkBenchSingleTon.WorkBench)就相当于以前的Application.Run(new Form()),而如果我们还有其他的窗口或其他任何地方,需要调用到DefaultWorkBench窗口里面的函数或者控件,如果不使用这个模式,那么我们在另外的窗口的构造函数中需要传入DefaultWorkBench的实例,而现在我们只需要使用简单的:WorkBenchSingleTon.WorkBench.函数名或者属性或者控件就可以进行调用或设置了。特别是我们使用插件的方式进行开发的时候 ,其他的插件一般会和WorkBench进行通信,现在我们就可以在任何地方使用WorkBenchSingleTon.WorkBench来调用主窗口的一些控件的属性了。

在下一篇来介绍使用这种方式开发的插件框架。

posted on 2013-01-11 18:44  东王  阅读(1082)  评论(0编辑  收藏  举报