📅  最后修改于: 2023-12-03 15:07:22.423000             🧑  作者: Mango
原型设计模式是一种创建型设计模式,它允许通过复制已存在对象来创建新对象。
在创建对象时,原型设计模式避免了使用Constructor、new操作符等繁琐的步骤。它是基于一个原型对象,生成新对象的方式,这个原型对象是一个已经初始化的实例对象。当需要创建新的对象时,只需要通过克隆原型对象即可。
原型设计模式主要用于以下场景:
以下是一个JavaScript实现的原型设计模式示例:
// 原型对象
const prototype = {
type: 'demo',
run() {
console.log(`Running ${this.type}...`)
}
}
// 创建对象
const object1 = Object.create(prototype)
object1.type = 'object1'
object1.run() // Running object1...
// 克隆对象
const object2 = Object.create(prototype)
object2.type = 'object2'
object2.run() // Running object2...
原型设计模式可以有效地减少对象的创建时间和成本,特别适用于实例化复杂类的场景。但需要注意的是,在设计之初需要考虑到复制方法的设计,避免修改时出现问题。