单例模式(Singleton Pattern):保证一个类只有一个实例,并提供一个访问它的全局访问点。
单例模式的要点:
- 类只能有一个实例。
- 必须自行创建这个实例。
- 必须自行向整个系统提供这个实例。
实现单例模式的要素:
- 私有的构造器
- 一个静态方法
- 一个静态变量
- 优点
- 单例模式提供了对唯一实例的受控访问。
- 节约系统资源。
- 缺点
- 单例没有抽象层,扩展很难。
- 单例类职责过重,违背了“单一职责原则”。
- Java存在垃圾回收,如果单例对象被自动销毁并回收,下次利用时又将重新实例化,这将导致共享单例对象的状态丢失。
- 适用场景
- 系统只需要一个实例对象,或者需要考虑资源消耗只允许创建一个对象。
- 单个实例只允许一个公共访问点。
|
|