迭代器模式

迭代器模式

1.简介

迭代器模式(Iterator Pattern),提供了一种顺序访问集合对象中各个元素的方法,同时隐藏了集合对象的内部细节。

使用迭代器模式,可以将遍历集合的逻辑从客户端代码中分离出来,使得客户端只需要与迭代器接口交互,而不需要关心集合的内部实现细节。这有助于提高代码的可维护性和扩展性,因为可以在不影响客户端的情况下修改集合的实现方式。

2.组成

  1. 迭代器接口(Iterator):定义了访问和遍历集合元素的方法,包括获取下一个元素、判断是否还有元素等。
  2. 具体迭代器(Concrete Iterator):实现迭代器接口,提供集合元素的实际遍历实现。
  3. 集合接口(Aggregate):定义创建迭代器的方法,通常包括获取迭代器的方法。
  4. 具体集合(Concrete Aggregate):实现集合接口,提供具体的集合对象。这个对象可以是数组、链表、树等各种集合类型。

3.代码

https://github.com/INnoVationv2/design-pattern/tree/main/3 behavioral_design_patterns/2 iterator_pattern

在上述示例中,一共有两种集合,分别是数组List和链表LinkList

  1. Iterator 是迭代器接口,
  2. ListIteratorLinkListIterator是具体迭代器
  3. Collection 是集合接口
  4. ListLinkList 是具体集合。
  5. 客户端代码通过迭代器遍历集合的元素,而不需要关心集合内部的实现细节。这样,即使集合的实现方式变化,客户端代码也可以保持不变。
posted @ 2023-08-30 15:11  INnoVation-V2  阅读(28)  评论(0)    收藏  举报