zoukankan      html  css  js  c++  java
  • Sigleton模式简单实例

     1 ///<summary>
    2 /// Sigleton模式简单实例
    3 ///</summary>
    4 class Program
    5 {
    6 staticvoid Main(string[] args)
    7 {
    8 string _title;
    9 //调用者不可以通过new的形式得到Singleton的实例
    10 LogWriter log = LogWriter.GetInstance();
    11 log.ddd();
    12 //调用LogWriter中的静态字段(外部类的类类型,只能通过类型访问而不能通过实例访问)
    13 _title = LogWriter._boss.Title;
    14 LogWriter._boss.SayHi();
    15 Console.WriteLine(_title);
    16 Console.ReadLine();
    17 }
    18 #region LogWriter描述
    19 publicclass LogWriter
    20 {
    21 //声明一个静态变量,类型为类本身
    22 privatestatic LogWriter _instance =null;
    23 //声明一个静态变量,类型为一外部类
    24 publicstatic Boss _boss =new Boss();//注意此处必须初始化,否则,调用会报错:{未将引用添加到实例}
    25 //将类的构造函数私有化,使得这个类不可以被外界创建
    26 private LogWriter()
    27 {
    28 }
    29 //提供静态的方法创建类的实例
    30 publicstatic LogWriter GetInstance()
    31 {
    32 if(_instance ==null)
    33 {
    34 _instance =new LogWriter();
    35 }
    36 return _instance;
    37 }
    38 publicvoid ddd()
    39 {
    40 Console.WriteLine("hi!");
    41 }
    42 }
    43 #endregion
    44
    45 #region Boss描述
    46 publicclass Boss
    47 {
    48 privatestring _Title;
    49
    50 publicstring Title
    51 {
    52 get { return _Title; }
    53 set { _Title = value; }
    54 }
    55
    56 public Boss()
    57 {
    58 this._Title ="Lucky";
    59 }
    60 publicvoid SayHi()
    61 {
    62 Console.WriteLine("Hello,World!");
    63 }
    64 }
    65 #endregion
    66 }
  • 相关阅读:
    Gitlab安装与备份恢复
    Logstash使用grok插件解析Nginx日志
    SSH登录启用Google二次身份验证
    Nginx隐藏标识以及其版本号
    Nginx虚拟目录设置
    Tomcat虚拟目录设置
    sqlserver无法连接
    Howto: 如何将ArcGIS Server缓存移动到新服务器
    优酷网架构学习笔记
    .net中自定义过滤器对Response内容进行处理
  • 原文地址:https://www.cnblogs.com/lucky_hu/p/2119431.html
Copyright © 2011-2022 走看看