设计模式-组合模式

来源:互联网 发布:java数组转换成字符串 编辑:程序博客网 时间:2024/06/14 21:36

1.描述:组合模式就是一种用小的子对象来构建大对象的一种编程思想。
2.用途:

  • 表示树形结构 – 具体功能分布在各子对象中
  • 利用对象多态性统一对待组合对象和单个对象

3.实例 - - - - - -扫描文件夹

//文件夹对象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(file){    throw new Error('文件下面不能再添加文件');};File.prototype.scan = function(){    console.log('开始扫描文件:'+this.name);};//使用var folder = new Folder('学习资料');var folder1 = new Folder('前端资料');var folder2 = new Folder('后端资料');var file   = new File('人人都是产品经理');var file1  = new File('vue');var file2  = new File('node.js');var file3  = new File('java');folder1.add(file1);folder2.add(file2);folder2.add(file3);folder.add(folder1);folder.add(folder2);folder.add(file);folder.scan();
原创粉丝点击