设计模式 之单例模式

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供全局访问点,使得该实例可以在程序的任何地方被访问。单例模式经常用于管理共享资源或限制对象创建数量的情况下。

实现一个单例模式需要注意以下几个关键点:

  1. 构造函数需要被设置为私有,以防止其他类直接实例化对象。
  2. 类内部需要创建一个静态成员变量来保存唯一的实例对象。
  3. 提供一个公共的静态方法,用于获取该实例对象。
cpp 复制代码
class Singleton {
private:
    static Singleton* instance; // 静态成员变量,用于保存单例对象

    Singleton() {} // 私有构造函数,防止外部实例化对象

public:
    static Singleton* getInstance() {
        if (instance == nullptr) {
            instance = new Singleton();
        }
        return instance;
    }

    void doSomething() {
        // 单例对象的方法
    }
};

Singleton* Singleton::instance = nullptr; // 初始化静态成员变量

int main() {
    Singleton* singleton = Singleton::getInstance();
    singleton->doSomething();

    return 0;
}
相关推荐
Geoking.7 分钟前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
点云SLAM8 分钟前
C++设计模式之单例模式(Singleton)以及相关面试问题
c++·设计模式·面试·c++11·单例模式(singleton)
GISer_Jing15 小时前
AI Agent 目标设定与异常处理
人工智能·设计模式·aigc
蔺太微16 小时前
组合模式(Composite Pattern)
设计模式·组合模式
肥猪猪爸17 小时前
双重检查锁(DCL)与 volatile 的关键作用
java·开发语言·单例模式
鱼跃鹰飞18 小时前
DDD中的防腐层
java·设计模式·架构
会员果汁19 小时前
15.设计模式-组合模式
设计模式·组合模式
YUEchn20 小时前
无处不在的Agent
设计模式·llm·agent
茶本无香1 天前
设计模式之二—原型模式:灵活的对象克隆机制
java·设计模式·原型模式
GISer_Jing1 天前
Nano Banana+LoveArt三大核心功能解析:重构AI设计全链路,让创意落地更高效
人工智能·设计模式·aigc