当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 提高代码质量的设计模式-享元模式

提高代码质量的设计模式-享元模式

2020年07月14日  | 移动技术网IT编程  | 我要评论

好的项目的代码具有很高的复用性,高复用低耦合是好代码的体现。什么样的代码具有高复用?高复用的代码具有以下三个特点:1.对象可以使用不用修改。2重复代码少。3模块功能单一。下面结合具体功能代码总结js中提高代码质量的设计模式——享元模式。

享元模式

目的:减少对象或者代码数量。
设计方法:观察代码中共有和私有的部分,提取共有部分和私有部分,私有部分作为外部数据传递,从而减少开发代码中对象的数量。
应用场景:当代码中创建了大量类似的对象和类似的代码块。
结合自己开发过程中的代码来谈谈感悟。比如要项目开发文件上传功能,这个地方创建类的时候可以利用享元模式的设计思想,从而提高代码的质量。

	//文件上传
function uploader(fileType,file){
	 this.fileType=fileType;
    this.file=file;
}
uploader.prototype.init=function(){
  //初始化文件上传的html
}
uploader.prototype.delete=function(){
  //删除掉该html
}
uploader.prototype.uploading=function(){
  //上传
}
var fileob1,fileob2,fileob3,fileob4
var data=[
  {
  	type:'img',
  	file:fileob1
  },
  {
  	type:'txt',
  	file:fileob2
  },
  {
  	type:'img',
  	file:fileob3
  },
  {
  	type:'word',
  	file:fileob4
  },      
]
for(var i=0;i<data.length;i++){
	new uploader(data[i].type,data[i].file);
};

上述代码在for循环中创建多个类,从代码功能上看确实可以实现业务需求,实现逻辑功能。但这种代码的质量并不高,程序员应该精益求精,追求代码质量。上述代码也是我在中踩过的坑,这里如若用享元设计模式改造,代码会得到提升,使创建多个uploader类变成创建一个uploader类。
使用享元模式

	//fileType,file
function uploader(){

}
uploader.prototype.init=function(){
  //初始化文件上传的html
}
uploader.prototype.delete=function(){
  //删除掉该html
}
uploader.prototype.uploading=function(filetype,file){
}
var uploader=new uploader();
for(var i=0;i<data.length;i++){
	uploader.uploading(data[i].type,data[i].file);
}

享元模式的目的就是减少类/代码的数量,将文件上传的功能放在uploading 方法中,提取私有的数据(文件类型、文件名),创建一个类循环调用uploading方法,也能实现功能。使用享元模式和没有使用享元模式,从代码的角度确实没多大的改变,但这种小的改变能减少类的数量从而提高代码质量。好的习惯从小的地方开始,点点滴滴的优化也能让你的代码与众不同。

本文地址:https://blog.csdn.net/weaJung/article/details/107325001

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网