c#单例模式的实现
单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。
实现要点:
1、是单例模式的类只提供私有的构造函数。
2、是类定义中含有一个该类的静态私有对象。
3、是该类提供了一个静态的共有的函数用于创建或获取它本身的静态私有对象。
双重锁定实现代码(多线程内):
namespace Singleton { public class Singleton { //定义一个私有的静态全局变量来保存该类的唯一实例 private static Singleton _singleton; //定义一个只读静态对象 //且这个对象是在程序运行时创建的 private static readonly object _lockObj = new object(); /// <summary> /// 构造函数必须是私有的 /// 这样在外部便无法使用 new 来创建该类的实例 /// </summary> private Singleton() { } /// <summary> /// 定义一个全局访问点 /// 设置为静态方法 /// 则在类的外部便无需实例化就可以调用该方法 /// </summary> /// <returns></returns> public static Singleton GetInstance() { //这里可以保证只实例化一次 //即在第一次调用时实例化 //以后调用便不会再实例化 //第一重 singleton == null if (_singleton == null) { lock (_lockObj) { //第二重 singleton == null if (_singleton == null) { _singleton = new Singleton(); } } } return _singleton; } } }
个人主要研究:金融系统、MIS系统、人力资源管理系统、数据采集系统、权限管理系统等等系统。主攻C#开发语言,Oracle、Sql Server,WCF和Remoting通信。
如需联系可加QQ:442389681 Email:lxc880615@163.com 手机:18922735098
QQ群交流:186841119 (请注明来自博客园)
博客园地址:http://www.cnblogs.com/jara/ http://www.cnblogs.com/luoyuhao/
提示:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。
如果对文章有任何问题,都可以在评论中留言,我会尽可能的答复您,谢谢您的阅读