JavaScript 中的原型与单例设计模式
1. JavaScript 中的对象创建与设计模式
在 JavaScript 里讨论“对象创建”时存在一定的模糊性,因为 JavaScript 是多范式语言,我们可以不借助类或构造函数来创建对象。例如,使用对象字面量创建对象:
const config = { forceUpdate: true };
实际上,现代惯用的 JavaScript 更倾向于过程式和函数式范式,而非面向对象。这意味着创建型设计模式可能需要进行调整,才能在 JavaScript 中充分发挥作用。创建型设计模式在面向对象的 JavaScript 中很有用,因为它们能向使用者隐藏实例化细节,降低耦合度,从而实现更好的模块分离。
2. 原型设计模式
2.1 原型模式定义
原型设计模式允许我们基于现有的实例(即原型)来创建新实例。更正式地说,原型类会暴露一个 clone() 方法。调用代码不使用 new SomeClass ,而是调用 new SomeClassPrototype(someClassInstance).clone() ,该方法调用会返回一个新的 SomeClass 实例,其所有值都从 someClassInstance 复制而来。
2.2 实现示例
以构建棋盘为例,棋盘上有白色和黑色两种关键类型的方格。每个方
超级会员免费看
订阅专栏 解锁全文
1287

被折叠的 条评论
为什么被折叠?



