设计模式-单例模式

什么是单例模式

单例模式是设计模式中最简单的形式之一,也是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。

单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例。

如何实现单例模式

  • 单例模式特点

私有化的构造函数;

私有的静态的全局变量;

公有的静态方法;

  • 代码实现
<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>

单例模式的应用场景

  • 应用程序的日志应用
  • 应用的配置对象读取
  • 数据库连接池的设计

单例模式的优缺点

  • 优点
  1. 在内存中只有一个对象,节省内存空间
  2. 避免频繁创建销毁对象,可提高性能
  3. 避免对共享资源的多重占用,简化访问
  4. 为整个系统提供一个全局访问点
  • 缺点
  1. 不适用变化频繁的对象
  2. 由于单例模式中没有抽象层,因此单例类的扩展有很大的困难
  3. 单例类的职责过重,在一定程度上违背了“单一职责原则”


分享到:


相關文章: