• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 基于静态Singleton模式的使用介绍

基于静态Singleton模式的使用介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了singleton模式,java singleton模式,实现singleton模式,什么是singleton模式,singleton单例模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

什么是静态单例模式?

静态单例模式(Static Singleton Pattern)是我在实践中总结的模式,主要解决的问题是在预先知道某依赖项为单例应用时,通过静态缓存该依赖项来提供访问。当然,解决该问题的办法有很多,这只是其中一个。

实现细节

    /// <summary>
    /// 获取单例实例
    /// </summary>
    public static TClass GetInstance()
    {
      return Instance;
    }

    /// <summary>
    /// 单例实例
    /// </summary>
    public static TClass Instance
    {
      get
      {
        if (_instance == null)
        {
          lock (_lock)
          {
            if (_instance == null)
            {
              _instance = new TClass(); // must be public constructor
            }
          }
        }

        return _instance;
      }
    }

    /// <summary>
    /// 设置单例实例
    /// </summary>
    /// <param name="instance">单例实例</param>
    public static void Set(TClass instance)
    {
      lock (_lock)
      {
        _instance = instance;
      }
    }

    /// <summary>
    /// 重置单例实例
    /// </summary>
    public static void Reset()
    {
      lock (_lock)
      {
        _instance = default(TClass);
      }
    }
  }
</div>
应用测试

      Console.ReadKey();
    }
  }
</div>
测试结果

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于静态Singleton模式的使用介绍

相关文章

  • 2017-05-28C# 6.0 的知识梳理
  • 2017-05-28C#统计C、C++及C#程序代码行数的方法
  • 2017-05-28C#创建临时文件的方法
  • 2017-05-28C#使用iCSharpcode进行文件压缩实现方法
  • 2017-05-28C# winform实现登陆次数限制
  • 2017-05-28c#下注册表操作的一个小细节
  • 2017-05-28C#使用linq计算执行元素在列表中出现次数的方法
  • 2017-05-28C# RichTextBox制作文本编辑器
  • 2017-05-28C#数组应用分析第1/2页
  • 2017-05-28.NET中的Timer类型用法详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#执行js动态编译的方法
    • C#的File类实现文件操作实例详解
    • C#默认双缓冲技术实例分析
    • c# 正则指引--字符组
    • c#使用nsoup解析html乱码解决方法分享 nsoup教程
    • c# 判断指定文件是否存在的简单实现
    • DevExpress实现为TextEdit设置水印文字的方法
    • C#验证码的创建与使用示例
    • winform 实现选择文件和选择文件夹对话框的简单实例
    • 基于C#对用户密码使用MD5加密与解密

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有