迭代器模式的应用
迭代器模式:又称游标模式,提供一种方法访问容器对象中的各个元素,而又不需要暴露该对象的内部实现细节,分离了集合对象的遍历行为,抽象出一个迭代器类来负责。
迭代器模式的组成:
1. Iterator:迭代器定义访问和遍历元素的接口。
2. ConcreteIterator:具体迭代器实现迭代器接口。对该聚合遍历时跟踪当前位置。
3. Aggregate:聚合定义创建相应迭代器对象的接口。
4. ConcreteAggregate:具体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例.
MyBatis的源码包cursor就是迭代器模式的应用,下面是缓存包的包结构:
从上面的包结构图结合具体的代码可知内容如下:
1.java.util.Iterator接口就是定义访问和遍历元素的接口
public interface Iterator<E> {}
2.DefaultCursor的私有内部实现类CursorIterator实现了Iterator
<