(一)单例设计模式

0 阅读1分钟

单例设计模式概述

1.什么是单例设计模式 单例设计模式,Singleton Pattern,是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来获取该实例。其特别适用于需要全局唯一资源管理的场景。 通俗的说,整个程序中,这个类只能有一个对象,永远不能造第二个。

2.核心思想

  • 唯一性:保证类只有一个实例存在
  • 全局访问:提供统一的访问接口
  • 资源控制:集中管理共享资源

3.为什么要用单例

  • 防止重复创建对象浪费内存
  • 保证全局只有一份,数据统一不乱
  • 全局都能访问,但又不会被随便乱造

4.定义一个单例类: (1)私有化它的构造函数,以防止外界创建单例类的对象; (2)使用类的私有静态指针变量指向类的唯一实例; (3)使用一个公有的静态方法获取该实例。

单例模式示例:

image.png

image.png

image.png

但这个版本有两个问题:

其一,是多线程不安全:
如果两个线程同时第一次调用getInstance(),
可能会引起同时new两次,出问题。
其二,是内存泄漏:
new出来的对象,没人delete,程序退出时不会自动释放。

新版单例

image.png

image.png