| Origin: |
GoF 95 |
| Reason: |
To sequentially access all the objects of a collection
without exposing the collection's interface and/or representation.
|
| Synopsis: |
Define an interface with methods
to produce a sequence of objects.
Make the interface independent of the object's container.
|
| Example: |
An InventoryBrowser displays InventoryItems
encapsulated in an InventoryCollection.
The InventoryBrowser does not access the
InventoryCollection, but an object that
implements the InventoryIterator interface.
|
| Solution: |
| Collection |
Class that encapsulates a collection of objects. |
| IteratorIF |
Interface that defines the methods to sequentially access
the objects in a Collection.
|
| Iterator |
Implementation of IteratorIF. |
| CollectionIF |
Common interface to Collections.
Provides method(s) to create Iterators.
|
|
| See also: |
Adapter (Iterator is a specialized Adapter)
|