迭代器模式

2022/4/10 设计模式 小于 1 分钟

迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式,

其主要优点如下。

  • 访问一个聚合对象的内容而无须暴露它的内部表示。
  • 遍历任务交由迭代器完成,这简化了聚合类。
  • 它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。
  • 增加新的聚合类和迭代器类都很方便,无须修改原有代码。
  • 封装性良好,为遍历不同的聚合结构提供一个统一的接口。

其主要缺点是:

  • 增加了类的个数,这在一定程度上增加了系统的复杂性。

# 示例

在不暴露对象内部结构的同时,可以顺序的访问对象内部的,可以帮助我们简化循环,简化数据操作。

function Iterator(item) {
    this.item = item;
}

Iterator.prototype.dealEach = function (fn) {
    for (var i = 0; i < this.item.length; i++) {
        fn(this.item[i], i);
    }
}
1
2
3
4
5
6
7
8
9
上次编辑于: 2023年7月4日 09:36