单例模式(Singleton Pattern) 是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点以获取该实例。
单例模式通常在以下情况下使用:
单例模式的关键特点包括:
下面是一个简单的 JavaScript 实现单例模式的示例:
class Singleton {// 私有变量,用于存储唯一实例static instance = null;// 私有构造函数constructor() {if (!Singleton.instance) {// 如果实例不存在,则创建实例Singleton.instance = this;}// 返回唯一实例return Singleton.instance;}// 公共方法showMessage() {console.log("Hello, I am a Singleton!");}}// 使用单例模式const singleton1 = new Singleton();singleton1.showMessage(); // 输出:Hello, I am a Singleton!const singleton2 = new Singleton();console.log(singleton1 === singleton2); // 输出:true,因为它们是同一个实例
在这个例子中,通过构造函数的私有性和静态属性来确保只有一个实例,并通过 showMessage
方法来验证单例的存在。使用单例模式可以确保在整个应用程序中只有一个实例,避免了不必要的资源浪费和复杂性。