声明:本博文篇幅短,适合快速回顾、朝花夕拾,不适合入门详解。
一、概念
通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。
二、模式结构图
三、例子
class Leader
{
private:
static Leader * _instance;
private:
Leader();
public:
static Leader * getInstance();
};
Leader * Leader::_instance = NULL;
Leader * Leader::getInstance()
{
if(_instance == NULL)
{
_instance = new Leader();
}
return _instance;
}四、优缺点
1、优点
a、单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。
b、节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。
c、因为类控制了实例化过程,所以类可以灵活更改实例化过程。
2、缺点
a、单例模式扩展困难。
b、单例模式在一定程度上与单一职责原则有冲突
本文介绍了单例模式的概念及其在系统中的应用。通过一个简单的C++示例,展示了如何确保一个类只有一个实例,并提供了全局访问点。同时讨论了单例模式的优点,如阻止其他对象实例化副本、节省资源和灵活的实例化过程;以及缺点,包括扩展困难和可能与单一职责原则冲突。
1505

被折叠的 条评论
为什么被折叠?



