企业网站建站系统,网站宣传需要多少钱,软件公司名字起名大全,潍坊高端网站建设一.是什么
单例模式是一种设计模式#xff0c;它的核心思想是#xff1a;整个系统中只能存在一个类的实例#xff0c;并提供一个全局访问点来获取这个实例。
二. 有什么作用
作用描述全局唯一性避免多个实例带来的资源浪费或数据不一致问题共享状态单例中的数据可被多个组…一.是什么
单例模式是一种设计模式它的核心思想是整个系统中只能存在一个类的实例并提供一个全局访问点来获取这个实例。
二. 有什么作用
作用描述全局唯一性避免多个实例带来的资源浪费或数据不一致问题共享状态单例中的数据可被多个组件或模块共享统一管理管理某一类服务或工具如缓存、日志、配置等延迟初始化惰性加载实例只在首次使用时创建节省资源
三. 怎么用
对象字面量
const Singleton {name: 我是单例,sayHi() {console.log(Hi~, this.name);},
};ES6 类 静态属性
class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}this.name 我是单例;Singleton.instance this;}sayHi() {console.log(Hi~, this.name);}
}// 使用
const a new Singleton();
const b new Singleton();
console.log(a b); // true四. 用在哪里
应用场景描述状态管理Vuex、Redux 中的 Store 就是单例缓存模块数据缓存、接口响应缓存、资源预加载器等工具类日志工具、埋点统计、埋点 SDK 管理器事件总线作为全局 EventBus 控制通信弹窗控制Modal、Dialog 控制器防止重复弹窗配置中心管理全局配置信息或运行环境信息