• 设计模式——单例模式


          学习设计模式也有一段时间了,看了些书籍也一直在园子里关注设计模式的文章,无奈动手比较少,仅仅几个设计模式拿来应用过,其它的基本上仅限于了解概念而已。悲哉!悲哉!前阵子在项目里居然发现可以应用单例模式,呵呵,颇有些惊喜。故写下面的。以此巩固和梳理自己的知识,加深理解。

      什么叫单例模式? 单例模式又叫做单态模式或者单件模式
         概念1(GOF):单例模式(Single)是指保证一个类仅有一个实例,并提供一个访问它的全局访问点 
         概念2:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类

         单例模式又分为:

      一 懒汉式单例:在类被加载的时候,唯一实例已经被创建     

         二、饿汉式单例 在类加载的时候不创建单例实例。只有在第一次请求实例的时候的时候创建,并且只在第一次创建后,以后不再创建该类的实例。

      三、登记式单例  这个单例实际上维护的是一组单例类的实例,将这些实例存放在一个Map(登记薄)中,对于已经登记过的实例,则从工厂直接返回,对于没有登记的,则先登记,而后返回。

      单例类的特点:

         1、单例类只能有一个实例
       2、单例类必须自己给自己创建自己的唯一的实例
         3、单例类必须给其他所有对象提供这一实例

    一个类的对象的产生是由类构造函数来完成的,如果想限制对象的产生,就要将构造函数变为私有的(至少是受保护的),使得外面的类不能通过引用来产生对象;同时为了保证类的可用性,就必须提供一个自己的对象以及访问这个对象的静态方法。通常我们可以让一个全局变量使得一个对象被访问。但它不能防止你实例化多个对象,一个最好的方法就是,让类自身保存它的唯一实例,这个类可以保证没有其它实例可以被创建,并且它可以提供一个访问改实例的方法
      

    什么时候用单例模式?当某个类的初始化比较耗时,耗资源的时候,比如加载某些配置文件等,一般会选择单例模式。
    单例模式一般用在你不想实例化多个对象的地方 ,比如WinForm里MDI窗口内的子窗体。



     

    扫描上面二维码关注我
    如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
  • 相关阅读:
    实现三联tab切换特效
    SQL Server对数据进行添加
    SmartUpload实现文件上传
    JavaScript图片轮播,举一反三
    SQL Server对数据进行删除
    用SQL Server查询所有数据并显示
    SQL Server日期格式化
    用SQL Server验证用户名和密码
    SQL Server存储过程作业(三)
    SQL Server存储过程作业(二)
  • 原文地址:https://www.cnblogs.com/kerrycode/p/1587161.html
Copyright © 2020-2023  润新知