Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.
Iterator
Visitor
Composite
Command