我看到在一些项目中,Module Pattern
使用而不是 Singleton Pattern
,反之亦然。
我想确切地知道,Module Pattern
和 Singleton Pattern
有什么区别?
最佳答案
Module pattern在 javascript 中指的是通用机制的代码模块化。将一个“类”拆分到多个文件中效果很好,因为您可以独立定义构造函数和各种原型(prototype)方法组。每个模块通常都包裹在一个闭包中以创建静态局部变量 - 这称为揭示模块模式。
Singleton pattern在javascript中是指实例创建的限制,常用lazy initialisation .
当然你可以认为模块模式是单例模式的特化(参见 Wikipedia article ),那么构造函数和它的原型(prototype)对象将成为“单实例”的一部分。
但您也可以“独立地”组合它们:定义一个使用单例方法的类的模块。
关于javascript - 模块模式和单例模式的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429169/