提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。
集合(Aggregate):一個接口,規定了具體集合需要實現的操作。
具體集合(ConcreteAggregate):具體集合是實現集合接口的類的實例,具體集合按着一定結構存儲對象。具體集合應該有一個方法,該方法返回一個針對該集合的具體迭代器。
迭代器(Iterator):一個接口,規定了遍歷具體集合的方法,比如next()方法。
具體迭代器(ConcreteIterator):實現迭代器接口的類的實例。具體迭代器在實現迭代器接口所規定的遍歷集合的方法時,比如next()方法,要保證該方法的首次調用按着集合的數據結構找到該集合中的對象,而且每當找到集合中的一個對象,立刻根據該集合的存儲結構得到遍歷的後繼對象的引用,並保證一次調用next()方法可以遍歷集合。