用最简单的方式了解单例模式

Source

什么是单例模式

单例模式就是确保一个类只有一个实例,并且提供一个全局访问节点,用于调用实现这个实例。

简单来说:

单例模式就类似于一个小按钮,每次点击这个按钮就会创建一次对象,以次来调用类里面的函数。

例如:(类名:AAA)

头文件节点函数声明:

      static AAA &getInstance();

源文件函数内容:

      static AAA stance;

      return stance;

 

函数内容解析:

一:创建一个返回值为对象的函数

二:在函数内创建一个static  AAA stance

三:返回该stance

 

调用方法

在类BBB中:

AAA   ::   getInstance().sendMsg();

(sendMsg为类AAA中的函数)

 

优点:

  1. 全局访问点
  2. 避免重复创建
  3. 资源共享

缺点:

  1. 可能引入全局状态
  2. 不适用于多线程环境
  3. 扩展性差