您的位置:首页 > 健康 > 养生 > 成全看免费观看_益阳网站制作公司地址_seo网站查询工具_竞价托管哪家效果好

成全看免费观看_益阳网站制作公司地址_seo网站查询工具_竞价托管哪家效果好

2025/1/6 13:55:35 来源:https://blog.csdn.net/weixin_60033897/article/details/144675313  浏览:    关键词:成全看免费观看_益阳网站制作公司地址_seo网站查询工具_竞价托管哪家效果好
成全看免费观看_益阳网站制作公司地址_seo网站查询工具_竞价托管哪家效果好

目录

  • 引言
  • 一、简介
  • 二、使用场景
  • 三、写法
    • 1.饿汉模式
    • 2.懒汉模式

引言

关于设计模式还是非常的重要的,有些面试还是会问到的,因为要区分差异,所以有可能问到了回答不上来可能这份工作就与你无缘了,虽然设计模式总共有23种,但其实常用的也就那几个,所以把常用的掌握了,然后其余的熟悉即可。

一、简介

单例模式特点:

  • 唯一性:在整个程序的声明周期中,该类只存在一个实例
  • 全局性访问:提供了统一的接口,供各个模块或者代码部分访问

二、使用场景

作用

  • 资源共享和管理:可以看作只存在一份的全局对象,在多线程中可以通过其中的成员进行使用
  • 状态一致性维护:由于只有一个实例,更改状态后的信息也是实时的
  • 节省内存和性能优化

场景:数据库连接池、消息队列服务类等

三、写法

1.饿汉模式

饿汉模式:无论用不用这个单例类,这个单例对象就已经被创建出来,直接拿来用就行。

class Object
{
public:Object(const Object&) = delete;Object& operator=(const Object&) = delete;static Object* getInstance();private:Object() = default;private:static Object m_object;  // static Object* m_object;
};Object Object::m_object;  // 类内定义,类外初始化
// Object* Object::m_object = new Object;Object* Object::getInstance()
{return &m_object;// return m_object
}

2.懒汉模式

懒汉模式:使用单例对象的时候才创建出来,多线程会出现线程安全问题,最简单的处理方式是,返回一个静态的局部对象。

class Object
{
public:Object(const Object&) = delete;Object& operator=(const Object&) = delete;static Object* getInstance();private:Object() = default;private:
};Object* Object::getInstance()
{static Object obj;return &obj;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com