什么是单例模式
单例模式是设计模式中最简单的形式之一,也是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。
单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例。
如何实现单例模式
- 单例模式特点
私有化的构造函数;
私有的静态的全局变量;
公有的静态方法;
- 代码实现
<code>template
<class
T
>class
CSingleton
{private
: CSingleton(const
CSingleton&); CSingleton&operator
= (const
CSingleton&);public
: CSingleton(){} ~CSingleton(){}static
T&Instance
()
{static
T t;return
t; } };/<code>
单例模式的应用场景
- 应用程序的日志应用
- 应用的配置对象读取
- 数据库连接池的设计
单例模式的优缺点
- 优点
- 在内存中只有一个对象,节省内存空间
- 避免频繁创建销毁对象,可提高性能
- 避免对共享资源的多重占用,简化访问
- 为整个系统提供一个全局访问点
- 缺点
- 不适用变化频繁的对象
- 由于单例模式中没有抽象层,因此单例类的扩展有很大的困难
- 单例类的职责过重,在一定程度上违背了“单一职责原则”