zoukankan      html  css  js  c++  java
  • 设计模式(一) :单例模式

    单例模式(Singleton Pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

    这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

    单例模式可以分为饿汉模式和懒汉模式

    饿汉模式:

     1 public  class Singleton
     2 {
     3         private static Singleton Instance = null;
     4 
     5         private static object locker = new object();
     6 
     7         private Singleton() { } //私有化构造函数
     8 
     9         public static Singleton GetInstance()
    10         {
    11             return Instance;
    12         }
    13 }
    饿汉模式

    懒汉模式需要考虑线程安全问题:

     1  public  class Singleton
     2 {
     3         private static Singleton Instance = null;
     4 
     5         private static object locker = new object();
     6 
     7         private Singleton() { } //私有化构造函数
     8 
     9         public static Singleton GetInstance()
    10         {
    11             //双重检查加锁机制
    12             if (Instance == null)
    13             {
    14                 lock (locker)
    15                 {
    16                     if (Instance == null)
    17                     {
    18                         Instance = new Singleton();
    19                     }
    20                 }
    21             }
    22             return Instance;
    23         }
    24 }
    懒汉模式
  • 相关阅读:
    用自己电脑搭建外网可访问的服务器(转)
    vue页面开发,简单技术点总结
    学习网站
    bzoj4530&&#3805. 大融合
    bzoj4137&&dtoj#2259. 火星商店问题
    bzoj-4009&&dtoj#2284. 接水果(fruit)
    bzoj5407: girls
    bzoj3498: PA2009 Cakes
    CF938F Erasing Substrings
    dtoj#4138. 染色(ranse)
  • 原文地址:https://www.cnblogs.com/jasonbourne3/p/11095923.html
Copyright © 2011-2022 走看看