概述
1.一般情况下,我们是每次调用一个构造函数,构造函数及相关被调用的函数都会执行一次。及调用N次,构造函数及相关函数都会执行N次,这样就会对服务器和底层数据库的性能造成浪费。
class Db {
//构造函数方法
constructor(){
console.log("实例化会触发构造函数");
}
connect(){
console.log("连接数据库");
}
find(){
console.log('查询数据库');
}
}
var myDb0 = new
Db();
var myDb1 = new
Db();
2次实例化执行了2次构造函数。
优化的思路是执行构造函数的时候进行判断,如果构造函数已经执行则不再执行,此思路即单例模式。
class Db {
//单例
static getInstance(){
if(!Db.instance){
Db.instance =
new Db();
}
return Db.instance;
}
//构造函数方法
constructor(){
console.log("实例化会触发构造函数");
}
connect(){
console.log("连接数据库");
}
find(){
console.log('查询数据库');
}
}
var myDb0 = Db.getInstance();
var myDb1 = Db.getInstance();
myDb0.connect();
myDb0.find();
myDb1.connect();
myDb1.find();
可以看到采用单例模式后,2次实例化只执行了一次构造函数,静态方法是执行了2次。
最后
以上就是有魅力发带为你收集整理的Node.js中Es6中的单例模式的全部内容,希望文章能够帮你解决Node.js中Es6中的单例模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复