zoukankan      html  css  js  c++  java
  • 设计模式单列模式

    何为设计模式呢?简单的说就是能重复利用的解决方案,当碰到A项目也出现这种情况,B项目也出现这种情况

    那么是否能把这懂实现功能抽象出来,形成一种解决方案.

    单列模式:顾名思义就是一个实例(即一个对象只能初始化一次);作用:减少开辟内存空间,节约内存开销

    class Program
        {
            
            static void Main(string[] args)
            {
                A a1 = A(); 
                A a2 = A();
                Console.WriteLine(a1 == a2); //输出false
            }  
        }
    因为A对象在内存堆中开辟了 a1和a2两个内存空间 所以他们的内存地址不可能相对
    那么要怎样才能开辟一个空间呢,也就是创建一个对象呢?
    首先我们就要阻击它new A(),阻击new A()那么构造函必须就要private()私有化
    下面上代码:
    class Program
        {
            
            static void Main(string[] args)
            {
                A a1 = A.getsingleInstance(); //同一个内存地址
                A a2 = A.getsingleInstance();
                A a3 = A.getsingleInstance();
                Console.WriteLine(a1 == a2);
                Console.WriteLine(a2 == a3);
               
            }  
        }
        public class A
        {
            private static A a =null; //静态变量在类加载的时初始化,并且只初始化一次
           
            /// <summary>
            /// 构造方法私有化在外不能new对象
            /// </summary>
            private A()
            {
            }
            public static A getsingleInstance()
            {
                if (a == null)
                {
                    a = new A();
                }
                return  a;
            } 
        }

      


      

  • 相关阅读:
    [剑指 Offer 11. 旋转数组的最小数字]
    进程描述符(PCB)
    [剑指 Offer 57. 和为s的两个数字]
    Linux netstat命令
    kafka2.3.X配置文件
    docker
    shell操作mysql数据库
    Linux文件查找之find命令
    sed 切割日志文件
    Linux文本处理之awk
  • 原文地址:https://www.cnblogs.com/yzenet/p/3065837.html
Copyright © 2011-2022 走看看