名称:单例模式

通过提供对自身共享实例的访问,单利设计模式用于限制特定对象只能被创建一次。

问题与解决方案:

这种特殊的体系结构类型为通常只存在全局和过程编程的面向对象设计提供了平衡作用。

此外,还有一种限制了任何时候所允许的自身副本数。初始的体系结构基于单利设计模式,不过需要稍加修改。例如,这个对象最多存储自身的5个实例。如果出现第六个请求,那么就不得不等待,或者只提供对先前创建的5个实例之一的引用。在排队请求中,这种体系结构类型特别有用。

单利设计模式最常用于构建数据库连接对象。数据库访问对象可以负责创建一个与数据库的实例化连接。接下来,只要调用这个对象的特定方法,该对象就会使用已创建的连接。因为创建与数据库服务器的连接开销很大。所以代码需要保持。了解这两点,读者就会明白将数据库访问对象创建为单利对象是非常有意义的。

在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。

UML:

 

Singleton

代码示例: