zoukankan      html  css  js  c++  java
  • 用C#改写Head First Design PatternsSingleTon(原创)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SingleTon
    {
        public sealed class SingleObject
        {
            //公有字段
            public string name;


            //类似java的实现
            private static object syncRoot = new Object();
           
            //私有字段
            private volatile static SingleObject uniqueObj;

            private SingleObject(string name)
            {
                this.name = name;
            }

            public static SingleObject getInstance(string n)
            {
                if (uniqueObj == null)
                {
                    //lock (typeof(SingleObject))
                    lock (syncRoot)
                    {
                        uniqueObj = new SingleObject(n);
                    }
                }

                return uniqueObj;
            }

           
            //private static readonly SingleObject instance = new SingleObject();
            //private SingleObject() { }
            //public static SingleObject Instance
            //   {
            //      get 
            //      {
            //         return instance; 
            //      }
            //   }

        }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace SingleTon
    {
        class Program
        {
            static void Main(string[] args)
            {
                SingleObject s = SingleObject.getInstance("a");
                SingleObject s1 = SingleObject.getInstance("b");

                System.Console.WriteLine(s.name);
                System.Console.WriteLine(s1.name);

                System.Console.ReadLine();

            }
        }
    }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    [Win32]一个调试器的实现(十)显示变量
    [Win32]一个调试器的实现(九)符号模型
    [Win32]一个调试器的实现(八)单步执行
    [Win32]一个调试器的实现(七)断点
    [Win32]一个调试器的实现(六)显示源代码
    [Win32]一个调试器的实现(五)调试符号
    [Win32]一个调试器的实现(四)读取寄存器和内存
    将博客搬至CSDN
    AndroidManifest.xml解析和五大布局介绍
    十六进制颜色
  • 原文地址:https://www.cnblogs.com/starcrm/p/1519229.html
Copyright © 2011-2022 走看看