1、组合模式将对象组合成树形结构,以表示部分-整体的层次结构。
2、除了用来表示树形结构外,组合模式的另一个优点是通过对象的多态性表达,用户可以一致地使用单个对象和组合对象。
使用组合模式后,很容易扫描整个文件夹,我们只需要操作树的顶部对象。
实例
varFolder=function(name){ this.name=name; this.files=[]; }; Folder.prototype.add=function(file){ this.files.push(file); }; Folder.prototype.scan=function(){ console.log('开始扫描文件夹:'+this.name); for(vari=0,file,files=this.files;file=files[i++];){ file.scan(); } }; varFile=function(name){ this.name=name; }; File.prototype.add=function(){ thrownewError('文件下面不能再添加文件'); }; File.prototype.scan=function(){ console.log('开始扫描文件:'+this.name); }; 接下来创建一些文件夹和文件对象,并且让它们组合成一棵树。 varfolder=newFolder('学习资料'); varfolder1=newFolder('JavaScript'); varfolder2=newFolder('jQuery'); varfile1=newFile('JavaScript设计模式与开发实践'); varfile2=newFile('精通jQuery'); varfile3=newFile('重构与模式') folder1.add(file1); folder2.add(file2); folder.add(folder1); folder.add(folder2); folder.add(file3);
以上就是JavaScript组合模式的介绍,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容