JavaScript组合模式是什么

JavaScript组合模式是什么_树形结构

1、组合模式将对象组合成树形结构,以表示部分-整体的层次结构。

2、除了用来表示树形结构外,组合模式的另一个优点是通过对象的多态性表达,用户可以一致地使用单个对象和组合对象。

使用组合模式后,很容易扫描整个文件夹,我们只需要操作树的顶部对象。

实例

JavaScript

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组合模式的介绍,希望对大家有所帮助。