nIterator
nDefine um interface para o acesso e varredura;
nConcreteIterator
nImplementa a interface do Iterator;
nMantém referência (cursor) ao objeto que está
sendo percorrido, podendo
calcular qual o elemento seguinte.
nAggregate
nDefine um interface para a criação do objeto Iterator;
nConcreteAggregate
nImplementa o método da interface que retorna uma instância do ConcreteIterator.