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来调用主窗口的一些控件的属性了。

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

转载于:https://www.cnblogs.com/city-hunter/archive/2013/01/11/2856887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值