设计模式中的迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法来顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
迭代器模式的核心思想
- 封装聚合对象的迭代操作:迭代器模式将迭代器的实现与聚合对象分离,使得迭代器只负责遍历聚合对象中的元素,而聚合对象则负责管理元素。
- 提供一致的接口:迭代器模式为不同的聚合对象提供统一的迭代接口,使得客户端代码可以无需知道聚合对象的内部结构即可遍历其元素。
迭代器模式的优点
- 简化客户端代码:客户端代码无需了解聚合对象的内部结构,只需通过迭代器即可遍历元素,从而简化了客户端代码。
- 增加灵活性:迭代器模式使得聚合对象和迭代器可以独立变化,增加了系统的灵活性。
- 支持多种遍历方式:迭代器模式支持多种遍历方式,如正向遍历、逆向遍历等。
示例
以下是一个简单的迭代器模式示例:
// 聚合对象
class Aggregate {
List<Integer> elements = new ArrayList<>();
public void add(int element) {
elements.add(element);
}
public Iterator<Integer> getIterator() {
return new Iterator<Integer>() {
private int index = 0;
@Override
public boolean hasNext() {
return index < elements.size();
}
@Override
public Integer next() {
return elements.get(index++);
}
};
}
}
// 客户端代码
public class IteratorPatternDemo {
public static void main(String[] args) {
Aggregate aggregate = new Aggregate();
aggregate.add(1);
aggregate.add(2);
aggregate.add(3);
Iterator<Integer> iterator = aggregate.getIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
更多关于设计模式的资料,您可以访问本站设计模式专题。
迭代器模式