首页 > 其他分享 >单例模式小记

单例模式小记

时间:2023-07-28 23:12:54浏览次数:40  
标签:Singleton getInstance 模式 instance 实例 单例 new 小记

1. 概念

单例模式是一种设计模式。

保证一个类只有一个实例,提供一个全局访问点。

2. 实例

  • 构造函数私有化,防止外部创建对象。
  • 提供静态成员函数 getInstance,获取单例指针。
  • 使用静态指针保存单例实例。
class Singleton {
public:
    static Singleton *getInstance() {
        if (_instance == nullptr) {
            _instance = new Singleton();
        }
        return _instance;
    }

private:
    Singleton() = default;
    static Singleton *_instance;
};

// 饿汉式
Singleton *Singleton::_instance = new Singleton();

// 懒汉式
Singleton *Singleton::_instance = nullptr;

标签:Singleton,getInstance,模式,instance,实例,单例,new,小记
From: https://www.cnblogs.com/zxinlog/p/17589100.html

相关文章

  • 设计模式-桥接模式
    桥接模式(Bridge)模式定义+将抽象部分和实现接口分离,使它们可以独立变化。是一种结构性模式。UML图时序图角色定义抽象类(Abstraction)用于定义抽象类的接口,其中定义了一个Implementation实现类接口的对象,并可以维护该对象,它与Implementation具有关联关系扩充抽象......
  • Nginx代理模式下 log-format 获取客户端真实IP
    一:环境描述A:  windowsclient    10.43.2.213B:  Nginx  proxy      10.43.2.11C:  Nginx  web-server    10.43.2.54其中,A,B,C三台主机,A是通过windows中的浏览器,B是Nginx代理服务器,C是用Nginx做的web服务器,访问web的流程如下:  A————>......
  • wpf在设计器模式利用模拟数据展现控件
    使用VisualStudio开发WPF应用程序时,控件显示需要的数据如果来路比较“苦难”,比如来自数据库,JSON文件,复杂计算等,这时候,如果想看到控件带有数据的展示效果,需要启动调试,这很麻烦。我们可以在XAML中使用designtime语法给控件赋予模拟数据MSDN教程,也可以在后台使用csharp代码判断当......
  • 如何使用Proxy模式及Java内建的动态代理机制
    http://zhangjunhd.blog.51cto.com/113473/699961.Proxy模式代理模式支持将某些操作从实际的对象中分离出来,通过它的代理类提供处理。这样便于修改和管理这些特定的操作。下面示例一个代理模式的实现。<!--[if!vml]--><!--[endif]--><<interfa......
  • 设计模式
    设计模式设计模式六大原则1)开闭原则(总):对扩展开放,对修改关闭多使用抽象类和接口,用抽象构建架构,用实现进行扩展2)单一职责原则:每个类应该实现单一的职责保证一个类只做一件事,如拆分为实体类和Controller类等3)里氏替换原则:基类可以被子类替换使用抽象类继承,不使用具体类继承,......
  • 策略模式+Spring配置类优化多if..else思路
    图示1.现状场景:假设设备上报不同类型的消息,我们要对不同类型的消息做不同的处理。如果我们通过if..else的方式处理的话会显得比较冗余。例如:if("alarmEvent".equals(msg)){//处理告警消息逻辑...}elseif("deviceBase".equals(msg)){//处理设备上报的基本......
  • python 单例模式
    python单例模式单例模式是一种设计模式,目的是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。有些类只需要一个全局唯一的实例,例如数据库连接池、线程池、日志记录器等。使用单例模式可以确保这些类只有一个实例存在,从而避免了资源的浪费和不一致的状态。单例模式......
  • Android-单例模式
    单例模式意图:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 publicclassSingleton{privatestaticSingletoninstance=newSingleton();......
  • 掌握 Python RegEx:深入探讨模式匹配
    动动发财的小手,点个赞吧!什么是正则表达式?正则表达式通常缩写为regex,是处理文本的有效工具。本质上,它们由一系列建立搜索模式的字符组成。该模式可用于广泛的字符串操作,包括匹配模式、替换文本和分割字符串。历史数学家StephenColeKleene在20世纪50年代首次引入正则......
  • 八、Web应用模式
    8.1、web应用模式在开发Web应用中,有两种应用模式:前后端不分离[客户端看到的内容和所有界面效果都是由服务端提供出来的。前后端分离【把前端的界面效果(html,css,js分离到另一个服务端,python服务端只需要返回数据即可)】前端形成一个独立的网站,服务端构成一个独立的网......