javascript - 模块模式和单例模式的区别?

标签 javascript design-patterns singleton module-pattern

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

我想确切地知道,Module PatternSingleton Pattern 有什么区别?

最佳答案

Module pattern在 javascript 中指的是通用机制的代码模块化。将一个“类”拆分到多个文件中效果很好,因为您可以独立定义构造函数和各种原型(prototype)方法组。每个模块通常都包裹在一个闭包中以创建静态局部变量 - 这称为揭示模块模式

Singleton pattern在javascript中是指实例创建的限制,常用lazy initialisation .

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

但您也可以“独立地”组合它们:定义一个使用单例方法的类的模块。

关于javascript - 模块模式和单例模式的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429169/

相关文章:

javascript - 美国/加拿大长途电话号码的正则表达式测试?

iphone - 如何在 iOS 上正确调用单例类

iphone - 将指针从单例设置到 viewController 并更新 GUI 违反 MVC

javascript - Discord.js ReactionCollector 帮助菜单 - 重置表情符号

javascript - 在ReferenceError中查找 undefined variable 名称字符串

C# 如何正确地对遵循装饰器模式的类进行单元测试?

Python 函数体取决于参数类的类型

c# - 类访问问题

javascript - 返回对象后这个数组的作用是什么?

c# - 在这种情况下应该使用什么设计模式?