zoukankan      html  css  js  c++  java
  • C#中的单体设计模式Singleton

    经典的单体设计模式的实现就是

    有一个Public的类,在这个类中,有一个私有的private的构造函数. 然后有一个静态方法,这个静态方法返回这个类的实例

    举个例子如下

    Public class MySingleton{
    
      private static MySingleton myUniqueInstance;
    
      private MySingleton() {}
    
      public static MySingleton getInstance()
      {
    
           if (myUniqueInstance == null)
           {
               myUniqueInstance = new MySingleton();      
           }
           
           return myUniqueInstance;
    
    
      // other useful methods here
     
      
      }
    }

    可以看出,这个类的构造方法是私有的,所以我们无法使用通常的 new MySingleton() 来获取该类的一个实例

    里面很重要的一部分如下

      if (myUniqueInstance == null)
           {
               myUniqueInstance = new MySingleton();      
           }
           
           return myUniqueInstance;

    如果该实例引用为null, 那么创建一个实例, 并把这个实例赋給类的那个成员变量. 这里要注意, 如果我们永远不需要这个类的实例, 那么这个类永远也不会被实例化, 这叫做懒初始化.

    如果实例引用不是null, 那么就说明之前已经创建过该类的实例了, 那么就返回之前创建的实例就行了.

    单体设计模式保证一个类只有一个实例,并提供一个全局访问该实例的方法

  • 相关阅读:
    mongodb使用
    chromedriver对应chrome版本
    爬虫-selenium的使用
    爬虫-步骤
    爬虫-lxml用法
    xpath用发
    Chrome插件安装和用法
    正则用法
    五层协议
    git相关流程
  • 原文地址:https://www.cnblogs.com/wphl-27/p/8871633.html
Copyright © 2011-2022 走看看