前几天回答了一个关于用静态变量实现总是返回同一个instance的示例代码,因为刚好自己用过这种代码,就随手回答了。被采纳后,看了别人的回答,才知道这叫单例模式,又查了下百科,多了解了一些。
单例模式的实现要点
一是某个类只能有一个实例
二是它必须自行创建这个实例
三是它必须自行向整个系统提供这个实例。
不知道静态变量算不算实现单例模式的要素!至少在C/C++中是必须的。
目前我所知道的在系统软件中的应用:OS中资源管理器设计成单例模式,某些APP的配置模块设计成基于整个os的单例模式,伴随有序列生成功能的模块设计成基于整个APP的单例模式。
这是几个月前做的一个自动升级工程的代码
c++的单例模式简单实现,GetInstance是对外的接口,总是返回唯一的实例
//.h
class CUpdateConfig
{
public:
static CUpdateConfig& GetInstance();
//.cpp
CUpdateConfig& CUpdateConfig::GetInstance()
{
static CUpdateConfig updateConfigInstance;
return updateConfigInstance;
}