首页 > 其他分享 >设计模式-单例模式

设计模式-单例模式

时间:2023-09-08 14:35:14浏览次数:40  
标签:静态方法 对象 创建 模式 静态 单例 设计模式

保证在整个软件系统中,对某个类只能存在一个对象实例。

饿汉式(类加载时创建,没用到也创建)

1、构造器私有化(防止new对象)。
2、类内部创建私有的静态对象。
3、用一个公共的getInstance()静态方法返回该对象。

如Runtime类

懒汉式(使用才创建)

1、仍然使构造器私有化。
2、类内部定义静态属性,类型为自身=null。
3、公共的静态方法内对静态属性判空,为空则令其指向新new的对象,再返回该对象。

但是存在线程安全问题。

标签:静态方法,对象,创建,模式,静态,单例,设计模式
From: https://www.cnblogs.com/fallorange/p/17687504.html

相关文章

  • 手撕代码 单例模式 饿汉和懒汉
    #include<bits/stdc++.h>usingnamespacestd;classA{private:staticA*usr;staticintcnt;A(){usr=NULL;cnt=0;cout<<"构造函数A"<<endl;}public:staticA*get(){......
  • 卷轴模式系统开发相关内容介绍
    卷轴模式是的定义介绍新用户注册,先送用户一部分购物积分,该积分用于兑换一个初始任务,俗称卷轴任务,卷轴模式的基本的原理是,会员用积分兑换卷轴卷轴,完成卷轴任务之后,你可以获得更多的购物积分。同时会员可以用积分参与更高级的卷轴任务,同样,当完成这些任务后,用户可以获得更多的积分。(......
  • 软件设计模式系列之二———抽象工厂模式
    1抽象工厂模式的定义抽象工厂模式是一种创建型设计模式,它提供了一种创建一组相关或相互依赖对象的方式,而无需指定它们的具体类。该模式以一组抽象接口为核心,包括抽象工厂接口和一组抽象产品接口,每个具体工厂类负责创建特定产品家族,保证这些产品之间的兼容性。客户端代码通过与抽......
  • 线程安全的队列:使用Monitor模式和C++11多线程库
    线程安全的队列:使用Monitor模式和C++11多线程库引言在多线程编程中,数据共享是一个关键的问题。如果多个线程需要访问同一个数据结构,不正确的管理会导致数据不一致甚至程序崩溃。本文将介绍如何使用C++11的多线程库和Monitor模式来实现一个线程安全的队列。Monitor模式Monitor模式......
  • 超全60000多字详解 14 种设计模式 (多图+代码+总结+Demo)
    超全60000多字详解14种设计模式(多图+代码+总结+Demo)之前读耗子叔文章时,看到过有句话没有实践,再多的理论都是扯淡,个人很赞同。你觉得自己学会了,但实践与学会之间有着很大差别。单例模式(SingletonPattern)定义或概念单例模式:保证一个类仅有一个实例,并提供一个访问的全局访......
  • 设计模式—职责链模式(Chain of Responsibility)
    目录思维导图什么是职责链模式?有什么优点呢?有什么缺点呢?什么场景使用呢?代码展示①、职责链模式②、加薪代码重构思维导图什么是职责链模式?使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它......
  • 设计模式—原型模式(Prototype)
    目录一、什么是原型模式?二、原型模式具有什么优缺点吗?三、有什么缺点?四、什么时候用原型模式?五、代码展示①、简历代码初步实现②、原型模式③、简历的原型实现④、深复制⑤、浅复制一、什么是原型模式?用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实......
  • stm32 pwm输出比较模式,和pwm输出模式的区别
    输出比较模式     STM32定时器输出比较模式是STM32定时器的一种工作模式,它可以通过改变ARR(自动重装载寄存器)和CCR(捕获比较寄存器)寄存器的值来控制输出的占空比,从而控制输出的电平。在输出比较模式下,CCR寄存器的值是固定的,而占空比是通过改变ARR寄存器(自动重装载值)......
  • Redis配置模式及各自优缺点
    大家好,我是闲者,今天简单聊下redis部署模式。Redis支持多种不同的数据结构和模式,以满足不同的使用场景。以下是一些常见的Redis配置和模式示例以及详解。原文地址:Redis配置模式及各自优缺点一.Rdis有哪些配置方式,及各自优缺点1.单机模式:Redis的最简单配置是单机模式,其中一个Re......
  • 1.前端设计模式之单例模式
    无论从实现还是从理论定义上看,单例模式都是最简单的模式,没有之一。单例模式顾名思义就是在整个应用中只存在一个对象实例。 使用这种模式一般为了全局共享资源和出于性能考虑减少过多创建实例带来的性能和资源开销。 全局共享资源:比如全局配置对象,在项目中我们经常用到一些需要全......