javascript设计模式12组合模式

// 组合模式适用条件,用来表示部分-整体层次关系的时候,或者客户期待用一致的方式去对待组合对象和叶子对象的时候
var Folder = function(name){
	this.name = name
	this.files = []
}

Folder.prototype.add = function(file){
	this.files.push(file)
}

Folder.prototype.scan = function(){
	for(var i = 0 ,file, files = this.files; file = files[i++];){
		file.scan()
	}
}

var File = function(name){
	this.name = name
}

File.prototype.add = function(file){
	throw new Error("叶子节点不能添加节点")
}

File.prototype.scan = function(){
	file.scan()
}

  

posted @ 2016-02-19 15:13  倾其一生  阅读(72)  评论(0)    收藏  举报