当前位置: 首页 > wzjs >正文

如果搭建网站佛山公司网站设计团队

如果搭建网站,佛山公司网站设计团队,深圳宝安做网站公司,白云区新闻单例模式的使用场景 以及 饿汉式写法(智能指针) 饿汉式:创建类时就已经创建好了类的实例(用智能指针实现)什么时候用单例模式:1. 全局配置管理2. 日志系统3. 资源管理器4. 硬件设备访问总结 饿汉式&#xf…

单例模式的使用场景 以及 饿汉式写法(智能指针)

      • 饿汉式:创建类时就已经创建好了类的实例(用智能指针实现)
      • 什么时候用单例模式:
        • 1. 全局配置管理
        • 2. 日志系统
        • 3. 资源管理器
        • 4. 硬件设备访问
        • 总结

饿汉式:创建类时就已经创建好了类的实例(用智能指针实现)

#include <memory>
class Single
{
private:Single(){}~Single(){}Single(const Single& single)=delete;Single& operator=(const Single& single)=delete;
private:static std::shared_ptr<Single> singlePtr;
public://获取实例static std::shared_ptr<Single>& getInstance(){return singlePtr;}
};
std::shared_ptr<Single> singlePtr=std::make_shared<Single>();

什么时候用单例模式:

1. 全局配置管理

当需要集中管理 全局配置数据 时(如数据库连接参数、系统路径配置),使用单例模式可确保所有模块访问的是同一份配置数据。例如:

class ConfigManager {
public:static ConfigManager& getInstance() {static ConfigManager instance;return instance;}std::string getValue(const std::string& key) const;
private:std::unordered_map<std::string, std::string> configMap;
};

所有组件通过ConfigManager::getInstance()获取统一配置

2. 日志系统

日志记录器需要保证 全局唯一的输出通道,避免多线程环境下 日志文件被重复打开:

Logger::getInstance().writeLog("System initialized");

这里的单例就是指唯一的日志输出通道

3. 资源管理器

管理数据库连接池、线程池等稀缺资源时,单例模式可确保 资源分配策略 的一致性:

ConnectionPool& pool = ConnectionPool::getInstance();
auto conn = pool.getConnection(); // 统一分配连接

这个单例就是这个线程池

4. 硬件设备访问

对打印机、串口等独占式硬件设备的访问控制,单例模式能防止设备冲突:

SerialPort::getInstance().sendData(dataBuffer);
类似于管理日志输出通道
总结

如果确定这个类的实例 在全局只有一个,那么就可以试试单例模式,总归有好处。另外,饿汉式 启动时(即加载类时)立即初始化,适合资源预分配场景。懒汉式 延迟初始化,首次调用时创建,节省启动时间。

http://www.dtcms.com/wzjs/811235.html

相关文章:

  • asp 茶叶网站模板网站用户体验模型
  • 关于网站开发网页上传和网站发布开发游戏需要多少资金
  • 做网站程序的步骤成都网络推广网站
  • 关键词网站查询wordpress 分类目录seo插件
  • 哈尔滨建站流程施工企业资料
  • 购物网站建设模板网页版传奇复古
  • 广州外贸网站建设公司自己建网站收费吗
  • wordpress做电商网站wordpress page post
  • 邯郸市网站建设多少钱接单网站做火牛
  • 网站开发项目经验描述seo海外推广
  • 设计师分享网站wordpress 写模版
  • 建设公司网站报价宁波网站建设开发
  • 苏州手机网站nas建站
  • 都江堰网站建设公司企业品牌推广的核心目的是
  • 网络营销软件站拓者设计吧室内设计官网登录
  • 临安建设投标网站网站建设和电子商务的关系
  • 电子商务网站建设选择题建设个直播网站要多少钱
  • 泰兴企业网站建设迁移wordpress到阿里云
  • 西安做网站的公司排名住房和城乡建设部官网
  • 公司网站在哪里做深圳微网站开发
  • 网站建设属于技术开发合同吗这么制作自己的网站
  • 北京恒伟网站建设网站权重是怎么提升的
  • 如何搭建一个属于自己的网站化学网站建设
  • 旅游网站建设的方向做外贸一般上什么网站
  • 档案网站建设论文网站中加入地图
  • wordpress 在浏览站点时显示工具栏关于加强网站建设
  • 做苗木行业网站赚钱国外无版权图片网站
  • 网站过期了怎么办微信商城定制
  • 跨境网站建设wordpress哪个php版本好
  • 郑州市汉狮做网站帮忙卖货的平台