”靠谱的“单例模式

//静态构造函数的单例模式

public sealed class Singleton
{
    private static readonly Singleton _instance = new Singleton();

    static Singleton()
    {
    }

    private Singleton()
    {
    }

    public static Singleton Instance
    {
        get
        {
            return _instance;
        }
    }
}

  

//延迟构造对象的单例模式

/// <summary>
/// 在.Net4.0或以上版本才行
/// </summary>
public sealed class Singleton
{
    private static readonly Lazy<Singleton> lazy =
        new Lazy<Singleton>(() => new Singleton());

    public static Singleton Instance { get { return lazy.Value; } }

    private Singleton()
    {
    }
}

  

时间: 2024-08-03 10:19:46

”靠谱的“单例模式的相关文章

[设计模式]&lt;3&gt;. C++与单例模式(singleton pattern)

默默地EEer 原文地址: http://www.cnblogs.com/hebaichuanyeah/p/5608209.html 单例模式是指,保证一个类,只有唯一一个实例,并提供这个实例的全局访问. 1.不靠谱之单例模式 很容易写出如下代码,通过Singleton类中的static函数去获取唯一的static指针变量,同时把Singalton类的构造函数设置为private,不允许构造多个对象. #include "iostream" using namespace std; c

设计模式-单例模式(Singleton)在Android开发应用场景思考和遇到的坑

介绍 在上篇博客中详细说明了各种单例的写法和问题.这篇主要介绍单例在Android开发中的各种应用场景以及和静态类方法的对比考虑,举实际例子说明. 单例的思考 写了这么多单例,都快忘记我们到底为什么需要单例,复习单例的本质 单例的本质:控制实例的数量 全局有且只有一个对象,并能够全局访问得到. 控制实例数量 有时候会思考如果我们需要控制实例的数量不是只有一个,而是2.3.4或者任意多个呢?我们怎样控制实例的数量,其实实现思路也简单,就是通过Map缓存实例,控制缓存的数量,当有调用就返回某个实例,

你所知道的Java单例模式并不是单例模式

当我们搜索单例模式的时候,能看到很多例子,什么懒汉式.饿汉式,大概如下: public class Singleton { private static Singleton instance=null; private Singleton(){ System.out.println("Singleton..init..."); } public static Singleton getInstance(){ if(instance==null){ instance=new Single

js设计模式-单例模式

JavaScript中的单例模式是最常用的.最基本的设计模式,它提供了一种命名空间,减少全局变量泛滥的代码管理机制: 1.最常见的单例模式: [javascript] view plain copy //一般用function定义的类,我才会采用首字母大写的方法来约定这个变量为类 //而对于这种伪类,我通常习惯于使用驼峰式命名法 var singleton = { attr1: '', attr2: '', method1: function() {}, method2:  function()

再次进入程序,Java静态变量与成员变量的不同表现和对单例模式的思考

我们知道,在存储方式上,成员变量在JVM中是存储在堆里边的,而静态变量则位于JVM中的方法区,两者的主要区别在于,成员变量不再受引用常常会导致被回收,而方法区对垃圾回收的限制相当严苛,除非是整个应用被卸载,否则静态变量会一直存在. 在android应用中使用成员变量,在退出应用之后,所有的成员变量肯定会被回收,而静态变量则相反.尤其是在UI设计上,如果你自定义一个static的viewgroup,创建时候为其addchlid,你就一定要考虑到这个情况,因为再次进入程序,还是会调用addchild

单例模式的七种实现

什么是单例模式 如何实现单例模式呢? 单例模式的七种实现 第一种:懒汉式加载 第二种:饿汉式加载 第三种方式:synchronized 同步式 第四种方式:双重检验锁: 第五种方式:既要懒汉式加载,又要线程安全:静态内部类. 第六种方式:反射和反序列化破坏单例 第七种方式:最后一招,使用枚举 总结 什么是单例模式 什么是单例模式呢? 我们引用一下维基百科: 单例模式,也叫单子模式,是一种常用的软件设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全

理解php单例模式

单例作为一个最经典的设计模式之一,到底什么是单例?为什么要用单例?怎么设计单例?php中单例如何具体实现? 一.什么是单例 wiki百科:单例模式,也叫单子模式,是一种常用的软件设计模式. 在应用这个模式时,单例对象的类必须保证只有一个实例存在. 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为. 通俗的说,也就是对于某一个功能只能实例化一个对象. 二.为什么用单例 实际项目中像数据库查询,日志输出,全局回调,统一校验等模块.这些模块功能单一,但需要多次访问,如果能够全

Java设计模式学习笔记,一:单例模式

开始学习Java的设计模式,因为做了很多年C语言,所以语言基础的学习很快,但是面向过程向面向对象的编程思想的转变还是需要耗费很多的代码量的.所有希望通过设计模式的学习,能更深入的学习. 把学习过程中的笔记,记录下来,只记干货. 第一部分:单例模式的内容 单例模式:类只能有一个实例. 类的特点:1.私有构造器:2.内部构造实例对象:3.对外提供获取唯一实例的public方法. 常见的单例模式实现有五种形式: 1.饿汉式. 2.懒汉式. 3.双重检查锁式. 4.静态内部类式. 5.枚举式. 以下分别

【python之路33】开发模式单例模式

1.单例模式指的是创建单个实例,例如:数据库连接池中包含10个数据库连接,用户访问数据时随机从连接池中拿出一个进行连接,其他用户再次访问时不再创建对象进行连接 #!usr/bin/env python # -*- coding:utf-8 -*- class ConnecttionPool: __instance = None def __init__(self): self.ip = '222.133.177.67' self.port = '3306' self.username = 'od