只有一个 public 方法的单例有意义吗?
Does a singleton with only one public method make sense?
我有一个 class 只公开一个 public 方法,而且它是一个单例。
仅摆脱 class 并将属性和方法声明为全局变量和函数是否有意义?然后只导出一个“public”函数。
使用全局变量有什么问题吗?
一般来说,如果您的 class 有状态,请完全避免单例模式,因为它会变成 global state。但如果你不能(轻松):
Can I get rid of the class
thing and declare properties and methods as variables and functions? And then exporting only the one "public" function?
是的,这对模块来说完全有意义。一个模块本质上已经是一个单例(它只被评估一次)。请注意,变量和函数不是全局的,它们的作用域是模块。
我有一个 class 只公开一个 public 方法,而且它是一个单例。
仅摆脱 class 并将属性和方法声明为全局变量和函数是否有意义?然后只导出一个“public”函数。
使用全局变量有什么问题吗?
一般来说,如果您的 class 有状态,请完全避免单例模式,因为它会变成 global state。但如果你不能(轻松):
Can I get rid of the
class
thing and declare properties and methods as variables and functions? And then exporting only the one "public" function?
是的,这对模块来说完全有意义。一个模块本质上已经是一个单例(它只被评估一次)。请注意,变量和函数不是全局的,它们的作用域是模块。