Single单例模式——对象创建模式
1.意图
保证一个类仅有一个实例,并提供一个访问它的全局访问点
2.适用性
- 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时
- 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需改代码就能使用一个扩展的实例时
3.结构
4.参与者
- Singleton
—— 定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作(即Smalltalk中的一个类方法和C++中的一个静态成员函数)。
—— 可能负责创建它自己的唯一实例。
5.协作
- 客户只能通过Singleton的Instance操作访问一个Singleton的实例。
6.效果
优点:
1、由于单例模式要求在全局内只有一个实例,因而可以节省比较多的内存空间;
2、全局只有一个接入点,可以更好地进行数据同步控制,避免多重占用;