1、组合模式将对象组合成树形结构,以表示部分-整体的层次结构。
2、除了用来表示树形结构外,组合模式的另一个优点是通过对象的多态性表达,用户可以一致地使用单个对象和组合对象。
使用组合模式后,很容易扫描整个文件夹,我们只需要操作树的顶部对象。
实例
var Folder = 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 (var i = 0, file, files = this.files; file = files[i++];) { file.scan(); } }; var File = function (name) { this.name = name; }; File.prototype.add = function () { throw new Error('文件下面不能再添加文件'); }; File.prototype.scan = function () { console.log('开始扫描文件: ' + this.name); }; 接下来创建一些文件夹和文件对象,并且让它们组合成一棵树。 var folder = new Folder('学习资料'); var folder1 = new Folder('JavaScript'); var folder2 = new Folder('jQuery'); var file1 = new File('JavaScript 设计模式与开发实践'); var file2 = new File('精通jQuery'); var file3 = new File('重构与模式') folder1.add(file1); folder2.add(file2); folder.add(folder1); folder.add(folder2); folder.add(file3);
以上就是JavaScript组合模式的介绍,希望对大家有所帮助。更多Javascript学习指路:Javascript
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试