Iterator Pattern
Solution
- Define an iterator that fetches one element at a time
- Each iterator object keeps track of the position of the next
element
- If there are several aggregate/iterator variations, it is best if
the aggregate and iterator classes realize common interface types.