Zhengrenzhe

(°∀°)ノ 老打杂了

用户工具

站点工具


设计模式:模式:单例模式

单例模式(Singleton Pattern)

Ensure a class has only one instance, and provide a global point of access to it.

单例模式是23个设计模式中最简单也是最常用的设计模式,通常用于维护一些全局性的资源管理,例如资源读取,文件读写,计数器等,使用单例模式可以非常方便的获取资源,也能降低整体系统的资源占用。

单例模式需要确保某个类只有一个实例,并且自动实例化向外界提供,使用ts可以很简单的实现

class A {
    name = "foo";

    private static instance = new A();

    private constructor() {
    }

    static get() {
        return A.instance;
    }
}

const s = A.get();
console.log(s.name);

使用private关键字来标记constructor,确保该class无法通过new来新建实例。在浏览器环境中,由于是单线程的,单例模式无需考虑线程安全问题,如果是node环境或者其他语言,则可能需要考虑线程安全问题。

设计模式/模式/单例模式.txt · 最后更改: 2020/02/26 15:38 (外部编辑)