单例模式 & 多例模式

单例模式和多例模式都是创建型设计模式,用于控制类的实例化过程:

单例模式(Singleton)

  • 核心特点:一个类在整个系统中只能创建唯一实例,且提供全局访问点。
  • 实现方式:私有构造方法 + 静态方法返回唯一实例,通常配合线程安全处理。
  • 适用场景:全局资源管理(如日志管理器、配置中心)、工具类等,需确保资源唯一或状态一致的场景。

多例模式(Multiton)

  • 核心特点:一个类可以创建有限个(预先定义数量)的实例,通过键值等方式管理和获取特定实例。
  • 实现方式:私有构造方法 + 静态容器(如 Map)存储实例,通过静态方法根据标识返回对应实例。
  • 适用场景:需要控制实例数量的场景(如线程池、数据库连接池),或特定类型的实例集合(如不同国家的货币实例)。

两者的核心区别在于:单例模式严格限制为 1 个实例,多例模式限制为固定数量的多个实例,均通过私有构造防止外部随意创建实例。