一、概念
1.1、定义
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
Singleton.jpg
1.2、解决的问题
- 问题分析:一个全局使用的类频繁地创建与销毁。
- 模式的解决思路:保证这个类只会被创建一次,从而避免多次创建和销毁,提高性能。
二、模式的应用和优缺点
2.1、应用场景
- 实例:移动端的账号数据单例、音视频播放器单例等。
2.2、优缺点
- 优点:整个系统数据共享变的简单容易
- 缺点:
不易扩展,违背开闭原则。
单例类设计往往很重职责,违背单一职责原则。
单例类的泛滥,对于系统的影响极大,内存膨胀。
由于整个系统共享,因此系统稳定性变差,容易导致问题且不易排查
三、其他
单例模式的核心要点有:
1、某个类只能有一个实例
2、它必须自行创建这个实例
3、它必须自行向整个系统提供这个实例由于权利下放多大,因此对于单例类的属性和方法的使用,建议严格规范,对于数据的访问和使用进行严格控制,预防风险的扩大。