《Java设计模式指南》01:单例模式(Singleton Pattern)
内容导航:
- 定义
- 使用场景
- 语法详解
- 定义唯一实例
- 自己创建唯一实例
- 全局访问方式
- 经典案例
- 饿汉单例
- 懒汉单例
1、定义
单例模式(Singleton Pattern)是最简单的设计模式之一,属于创建型模式,它提供了一种访问某个类“唯一实例(对象)”的绝佳方式,且可以直接访问,不需要再次实例化该类。
单例模式涉及到一个单一的类,该类负责创建自己的实例,同时确保只有单个实例被创建。通常情况下,该类在一个进程中只有一个实例,有些时候根据业务需要,在一个线程中只有一个实例,例如,仅线程上下文中使用同一个实例。因此,该类被称之为单例类,其唯一实例叫做单例。
单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”
注意:
- 单例类有且只能有一个实例。
- 单例类必须自己创建唯一实例。
- 单例类必须提供访问唯一实例的全局方式。
2、使用场景
- Windows操作系统的任务管理器。
- 设备管理器