标签:
在C#程序中,单例模式是一个不错的解决面向过程方法重用的设计模式.
关于这个模式,网上文章很多, 这里我只谈自己的心得.
在我们做项目的时候经常会分多层, 例如BLL层, DAL层什么的等等.
这些层里会有很多方法是不需要实例化成员变量, 只需要提供方法本身所需的参数即可的.
但是我们在调用这些方法的时候,往往还需要先实例化BLL类,然后才能通过新建的实例来进行调用, 这样不仅增加了代码量, 而且实例创建销毁也会造成性能的损耗.
这时我们就需要用到单例模式了.
关于这个模式最简单明了的写法为
public class Singleton { public static readonly Singleton instance=new Singleton(); public void foo() { //do some thing } }
然后再调用的时候 则用以下代码即可.
Singleton.instance.foo();
这样首先将原本要写成两行的代码写成一行, 而且省去了定义实例所要想名字话费的时间,在性能上也有提升, 可谓一举三得, 是程序员必须要会的模式!
理解这个模式的关键是对静态变量有一个深刻的认识. 只有真正理解了static, readonly 关键字才能对这个模式有一个深刻的认识.
标签:
原文地址:http://www.cnblogs.com/he-yuan/p/4901579.html