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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值