单例设计模式(Singleton Pattern)
1、设计模式:解决某类问题行之有效的方法,是一种思想,是规律的总结。
2、单例设计模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。(保证唯一性的思想及步骤)
3、单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
单例模式是结构最简单的设计模式一,在它的核心结构中只包含一个被称为单例类的特殊类。
注意:
- 为避免其他程序建立该类对象,先禁止其他程序建立该类对象,即将构造函数私有化
- 为其他程序访问到该类对象,须在本类中创建一个该类私有对象
- 为方便其他程序访问到该类对象,可对外提供一个公共访问方式
比如API中的 Runtime 类就是单例设计模式。
4、单例模式应用场景:
(1) 系统只需要一个实例对象,如系统要求提供一个唯一的序列号生成器或资源管理器,或者需要考虑资源消耗太大而只允许创建一个对象。
(2) 客户调用类的单个实例只允许使用一个公共访问点,除了该公共访问点,不能通过其他途径访问该实例。
5、单例设计模式的三种方式:
(1)懒汉式(线程安全)