一、什么是单例模式?
单例模式是类的设计模式,使用这个模式设计出来的类运行期间最多只有一个实例,为什么是最多呢,因为它有可能整个运行完了都没有创建。
既然单例模式这么常见,那么它有什么优点呢?节省内存(仅有一个对象)加快访问速度(不用频繁创建),缺点在于没有接口,不能继承。
二、单例模式适用场景- 唯一序列号
- WEB计数器
- 创建耗时对象(IO及数据库连接)
要想了解更多,可以看看这个:https://blog.csdn.net/tanyujing/article/details/14160941
三、单例模式的分类单例模式分为两类:
- 预加载型
- 用到再加载型
前者被称为饿汉模式,后者被称为懒汉模式。前者未雨绸缪是一个曾经过过吃不饱穿不暖的日子,所以他总是先创建好,需要时随时都可以拿到,未雨绸缪;后者是一个小康家庭,从来没有过过苦日子,所以他总是用的时候再去创建。个人觉得这两种人呢,都是好人,关键是你对资源的及时性有没有要求。
四、具体实现无论是衣食无忧型的懒汉还是未雨绸缪型的饿汉,首先要满足的条件就是让用户没法构造,在C++里最简单的方法就是让构造函数私有化。
4.1 未雨绸缪型实现class Singleton
{
private:
Singleton(){std::cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?