• 单件模式


    保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    image_2


    1.示例1.
    由于加了readonly关键字,所以只会在构造函数中初始化一次.

    public sealed class Singleton {
       // Private Constructor 
       Singleton() { }
       
       // Private object instantiated with private constructor
       static readonly Singleton instance = new Singleton();
     
       // Public static property to get the object
       public static Singleton UniqueInstance {
         get { return instance;}
       }
     }


    2.延迟初始化

    注意内部多定义了一个类

    public class Singleton {
       // Private constructor 
       Singleton () { }
       
       // Nested class for lazy instantiation
       class SingletonCreator {
         static SingletonCreator () {}
         // Private object instantiated with private constructor
         internal static readonly 
         Singleton uniqueInstance = new Singleton();
       }
     
       // Public static property to get the object
       public static Singleton UniqueInstance {
         get {return SingletonCreator.uniqueInstance;}
       }
     }

    这个模式平时用到的也最多,面试的人也很喜欢问这个,属于基本模式,简单也不容易忘记,自然大家都喜欢问,呵呵

  • 相关阅读:
    qt 学习(三)消息基础
    qt学习(二)控件
    sqlserver学习_01
    java对文件操作--01
    js 将json字符串转换为json对象的方法解析
    实现动态代理(Java和spring)
    mysql_01_游标的使用
    java实现多文件上传01
    oracle-2_dblink的创建和使用
    sqlserver学习3---sql函数
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1809560.html
Copyright © 2020-2023  润新知