模块模式和单例模式之间有什么不同?

时间:2012-11-17 09:04:57

标签: javascript design-patterns singleton module-pattern

我已经看到,在某些项目中,Module Pattern使用而不是Singleton Pattern,反之亦然。

我想确切地知道Module PatternSingleton Pattern之间有什么不同?

1 个答案:

答案 0 :(得分:7)

javascript中的

Module pattern指的是用于通用机制的代码的模块化。它可以很好地将一个“类”分成几个文件,因为您可以独立定义构造函数和各种原型方法组。每个模块通常都包含在一个闭包内,以创建静态的局部变量 - 这称为揭示模块模式

javascript中的

Singleton pattern是指实例创建的限制,通常使用lazy initialisation

当然你可以认为模块模式是单例模式的特化(参见Wikipedia article),构造函数及其原型对象将成为“单实例”的一部分。

然而,您也可以“独立地”将它们组合在一起:定义使用单例方法的类的模块。

相关问题