您当前的位置: 首页 > 

我什么都布吉岛

暂无认证

  • 5浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

设计模式(一)单例模式

我什么都布吉岛 发布时间:2019-09-09 15:12:39 ,浏览量:5

一、什么是单例模式?

单例模式是类的设计模式,使用这个模式设计出来的类运行期间最多只有一个实例,为什么是最多呢,因为它有可能整个运行完了都没有创建。

既然单例模式这么常见,那么它有什么优点呢?节省内存(仅有一个对象)加快访问速度(不用频繁创建),缺点在于没有接口,不能继承。

二、单例模式适用场景
  • 唯一序列号
  • WEB计数器
  • 创建耗时对象(IO及数据库连接)

要想了解更多,可以看看这个:https://blog.csdn.net/tanyujing/article/details/14160941

三、单例模式的分类

单例模式分为两类:

  • 预加载型
  • 用到再加载型

前者被称为饿汉模式,后者被称为懒汉模式。前者未雨绸缪是一个曾经过过吃不饱穿不暖的日子,所以他总是先创建好,需要时随时都可以拿到,未雨绸缪;后者是一个小康家庭,从来没有过过苦日子,所以他总是用的时候再去创建。个人觉得这两种人呢,都是好人,关键是你对资源的及时性有没有要求。

四、具体实现

无论是衣食无忧型的懒汉还是未雨绸缪型的饿汉,首先要满足的条件就是让用户没法构造,在C++里最简单的方法就是让构造函数私有化。

4.1 未雨绸缪型实现
class Singleton
{
private:
    Singleton(){std::cout            
关注
打赏
1658157489
查看更多评论
0.0456s