单例模式介绍
单例模式是一种设计模式,用于确保类只能创建一个实例,并提供一种全局访问该实例的方式。在单例模式中,类的构造函数被私有化,这样就不能通过常规方式创建对象实例。相反,类提供一个静态方法或静态变量来获取其唯一的实例。
单例模式通常用于管理全局状态或资源共享的情况,例如配置管理、数据库连接池、日志记录器等。
需要注意的是,单例模式有不同的实现方式,包括懒汉式、饿汉式、双重检查锁等。每种实现方式都有其优缺点,开发者应根据具体需求选择适合的实现方式。需要注意的是,单例模式有不同的实现方式,包括懒汉式、饿汉式、双重检查锁等。每种实现方式都有其优缺点,开发者应根据具体需求选择适合的实现方式。
在QT中实现(懒汉式单例模式)
为了在Qt中创建一个可以全局引用的类,可以使用单例模式。单例模式确保一个类只有一个实例,并提供一个全局访问点。
示例:
// globalclass.h
#ifndef GLOBALCLASS_H
#define GLOBALCLASS_H#include <QObject>class GlobalClass : public QObject
{Q_OBJECT
public:static GlobalClass& instance(){static GlobalClass instance; // 单例实例return instance;}void doSomething();signals:void somethingDone();private:GlobalClass(QObject *parent = nullptr) : QObject(parent) {}GlobalClass(const