GMa*_*ckG 6

Andrei Alexandrescu在Modern C++ Design中简要介绍了这一点.

他概述了单稳态模式的两个缺点:

  1. 静态函数不能是虚拟的.
  2. 初始化和清理不是核心.

数字1表示扩展或更改类可能会变得更加困难.数字2使得难以跟踪数据的生命周期.

单稳态模式和单态模式解决了两个不同但非常接近的问题.monostate模式确保类的所有实例都在相同的数据上运行,而单例模式确保这里只是要操作的类的实例.