迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
迭代器模式把在元素之间的游走的责任交给迭代器,而不是聚合对象,这不仅让聚合的接口和实现变得更简洁,也可以让聚合更加专注在它所应该专注的事情上面,而不用去理会遍历的事情。
本质上就是控制聚合对象中元素的访问。行为型模式
参与者:
迭代器(Iterator):迭代器定义访问和遍历元素的接口。
具体迭代器(ConcreteIterator):具体迭代器实现迭代器接口,并保存迭代过程游标的位置。
聚合(Aggregate):聚合定义创建相应迭代器对象的接口。
具体聚合(ConcreteAggregate):具体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例。
这个模式实现简单 现在jdk 提供了 Iterator接口 。这个模式的好处 可以让我们以不同的策略方式(过滤,限制)等等进行遍历聚合对象 而 实现不在聚合对象内。
支持对聚合对象的多种遍历。 为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。