ES6中的单例模式
定义:无论实例化多少次,构造函数只执行一次
优点:有利于提高性能
class Db {
constructor () {
console.log('实例化会触发构造函数')
this.connect()
}
connect () {
console.log('连接数据库')
}
find () {
console.log('查询数据库')
}
}
let db = new Db() //实例化会触发构造函数 //查询数据库
let db2 = new Db() //实例化会触发构造函数 //查询数据库
class Db {
static getInstance () {
if (!Db.instance) {
Db.instance = new Db()
}
return Db.instance
}
constructor () {
console.log('实例化会触发构造函数')
this.connect()
}
connect () {
console.log('连接数据库')
}
find () {
console.log('查询数据库')
}
}
let db = Db.getInstance()
let db2 = Db.getInstance()