首页 > 其他分享 >单例模式声明和使用

单例模式声明和使用

时间:2023-02-01 09:56:33浏览次数:54  
标签:__ SINGLETON PATTERN 模式 classname instance 单例 声明 define

1.

#ifndef __INFRAY_SINGLETON_H__
#define __INFRAY_SINGLETON_H__

#include <unistd.h>


#define PATTERN_SINGLETON_DECLAREY(classname)    \
private:                                        \
    classname();                                \
public:                                            \
    static classname * Instance();                \
    virtual ~classname();    

#define PATTERN_SINGLETON_IMPLEMENTY(classname)    \
classname * classname::Instance()        \
{                                                \
    static classname * _instance = NULL;        \
    if(NULL == _instance)                        \
    {                                            \
        _instance = new classname;                \
        usleep(10000);                            \
    }                                            \
    return _instance;                            \
}                                                

#endif

使用:

在头文件的类中声明

 

 并在C文件中实现

 

标签:__,SINGLETON,PATTERN,模式,classname,instance,单例,声明,define
From: https://www.cnblogs.com/donxiao-999/p/17081585.html

相关文章

  • 设计模式-Simple Factory(简单工厂)
    模式说明简单工厂模式又叫静态工厂模式,但不属于23种设计模式。简单工厂模式是由一个工厂对象决定创建出哪一个产品类的实例。UML结构图优点实现了对责任的分割,隔离了......
  • Seata AT模式 全局事务提交及回滚 源码流程时序梳理
    全局事务提交流程全局事务回滚流程 ......
  • day15-声明式事务
    声明式事务1.事务分类编程式事务Connectionconnection=JdbcUtils.getConnection();try{//1.先设置事务不要提交connection.setAutoCommit(false);......
  • dremio provision 模式功能简单说明
    目前此功能主要是支持yarn等资源调度的,在dremio系统中名称为弹性引擎ProvisioningService服务接口定义参考类图  不同类型的实现具体操作是由ProvisioningServ......
  • 设计模式 > 单一职责原则
    SOLID原则并非单纯的1个原则,而是由5个设计原则组成的,它们分别是单一职责原则,开闭原则,里氏替换原则,接口隔离原则和依赖反转原则。单一职责原则(SRP)定义:一个类或者模块只负......
  • 工厂模式(factory)
    1,简单工厂模式1.1,简介简单工厂:封装创建产品的过程。提供一个返回产品实例的方法,此方法封装了产品实例的逻辑,根据参数返回不同的实例。所有产品一个工厂实例生成。缺点:每......
  • 代理模式(Proxy)
    1,代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代......
  • dremio provisioning 几种模式简单介绍
    主要是包含了基于云以及yarn模式的部署awseks  azurearm  azureaks  yarn模式  标准集群模式  说明以上集中模式包含了软件以及在云......
  • RabbitMQ基本原理及模式介绍
    一、RabbitMQ概念RabbitMQ:是一个由erlang开发的AMQP(AdvancedMessageQueue高级消息队列协议)的开源实现,由于erlang语言的高并发特性,性能较好,本质是个队列,FIFO先入先......
  • 通过自定义注解和反射实现策略模式
    通过自定义注解和反射实现策略模式​ 今天在写一个工单系统时,工单审批通过后,需要根据不同的工单类型选择不同的处理方式非常适合用自定义注解+反射来实现,研究了一番,......