JavaScript设计模式样例四 —— 单例模式

单例模式(Singleton Pattern):

1
2
3
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
目的:阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。
场景:如一个系统中可以存在多个打印任务,但是同时只能有一个正在工作的任务。

例:JS代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 惰性单例
let lazySingle = (() => {
    let _instance = null
    // 单例
    Single = () => {
        let privateAttribute = '我是私有属性'
        privateMethod = () => {
            // 私有方法
        }
        return {
            publicMethod: () => {
                // 对外暴露方法
            },
            publicAttribute: '我是对外暴露属性'
        }
    }
    // 提供一个全局访问点
    return () => {
        if (!_instance) {
            _instance = Single()
        }
        return _instance
    }
})()

Git地址:https://github.com/skillnull/Design-Mode-Example

posted @   SKILL·NULL  阅读(174)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示