小编Kar*_*ari的帖子

TypeScript模式在创建单例实例时传递选项

我有一个TypeScript单例类

class MySingleton {
    private static _instance: MySingleton;

    private constructor();

    public static getInstance() {
        if (!MySingleton._instance) {
            MySingleton._instance = new MySingleton();
        }

        return MySingleton._instance;
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,我想在创建这个单例实例时传递一些选项.

例如,将实例的模式设置为生产模式的选项.

因此,可以通过getInstance接受传播到构造函数的选项对象来实现.然后使用变得像

MySingleton.getInstance({
    prodMode: true
});
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?这样做有点蠢,因为当通过传递选项对象MySingleton执行的消费者时getInstance,他或她无法知道传递的选项对象将被使用或被忽略.

javascript singleton design-patterns javascript-objects typescript

6
推荐指数
1
解决办法
692
查看次数