zoukankan      html  css  js  c++  java
  • 单体模式的简单实现

    单体模式的思路:(单体模式在多线程中容易出现被实例化多次的问题,因此要进行双重为空判断来缓解次问题)

    1.把构造函数的作用域改为私有的,那样外面就不能new

    2.通过一个类的静态方法得到一个静态实例

    例如:

    public class A

    {

      static A a = null;

      static A ()

      {

        Console.WriteLine("创建对象");

      }

      public static A GetA()

      {

        if(a != null)

        {

          a = new A();

        }

        return a;

      }

      //定义一个方便测试的方法

      int b =0;

      public void Show()

      {

        b++;

        Console.WriteLine("单个对象被调用了{0}次",b);

      }

    }

    public class Demo

    {

      static void Main(string[] args)

      {

        Console.WriteLine("开始执行");

        //通过循环来依次调用A的方法

        for(int i =0 ; i < 5; i++)

        {

          A.GetA().Show();

        }

      }

    }

  • 相关阅读:
    OC2_数组操作
    OC1_数组创建
    OC6_字符串练习
    Python3学习笔记12-定义函数及调用
    Python3学习笔记11-循环语句
    Python3学习笔记10-条件控制
    Python3学习笔记09-字典
    Python3学习笔记08-tuple
    Python3学习笔记07-List
    Python3学习笔记05-数字
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1764522.html
Copyright © 2011-2022 走看看