Appearance
迭代器模式
意图
提供一种方法顺序访问聚合对象元素,而又不暴露其内部表示。
类图
Java 示例
JDK 已内置:java.util.Iterator、Iterable。
java
import java.util.*;
public class BookShelf implements Iterable<String> {
private final List<String> books = new ArrayList<>();
public void add(String b) { books.add(b); }
public Iterator<String> iterator() { return books.iterator(); }
}
// for (String b : shelf) { ... }自定义聚合可实现自己的 Iterator,在遍历同时支持 remove、过滤等。
下一节:中介者模式