主要用于减少创建对象的数量,以减少内存占用和提高性能。
这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式
主要表达的意思大概是,内存共享,共用一个根源。
比如说要做一个下雪的动画,这个雪花有大有小是把,我们用的时候就可以只实例化一个雪花对象去绘制各种不同的雪花,而不是实例化N个不同的雪花对象去绘制
class Snow {
draw(x, y, w, h) {
console.log('x:', x, ' y:', y)
console.log('w:', w, ' h:', h)
console.log('❄')
}
}
const snow = new Snow()
snow.draw(Math.random() * 100, Math.random() * 200, Math.random() * 10, Math.random() * 10)
snow.draw(Math.random() * 100, Math.random() * 200, Math.random() * 10, Math.random() * 10)
snow.draw(Math.random() * 100, Math.random() * 200, Math.random() * 10, Math.random() * 10)
snow.draw(Math.random() * 100, Math.random() * 200, Math.random() * 10, Math.random() * 10)