terça-feira, 24 de abril de 2012

Padrão de Projeto Iterator


Classificado como padrão comportamental da família de padrões GoF, o iterator Fornece uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação.

Estrutura


Participantes

IteradorIF : define a interface para acessar e percorrer os elementos
IteradorConcreto :
  • Implementa a interface Iterator. 
  • Mantém o controle da posição corrente no percurso do agregado.
ColecaoIF : define uma interface para a criação de um objeto Iterator.
ColecaoConcreta : implementa a interface de criação do Iterador para retornar uma instância do ConcreteIterador.

Implementação

O exemplo (adaptado [Software Design Patterns, 2005]), ilustrado na Figura 2, é muito simples, basicamente o usuário adiciona dados do tipo String na quantidade que desejar e a qualquer momento pode navegar entre estes dados utilizando os métodos fornecidos pela interface IteradorIF.
A ColecaoConcreta aplicará uma estrutura de dados desconhecida, ou seja, a forma com que ela armazena os objetos não interessará à classe Cliente. ColecaoConcreta poderá utilizar lista ordenadas, listas encadeadas, algum tipo de árvore ou qualquer outra estrutura, entretanto a forma como o cliente fornecerá e posteriormente fará a leitura desta lista de objetos sempre será a mesma.


Referencia:

Software Design Patterns, 2005



Postado por: Hélio Marcus, ADS - 6º Período

Nenhum comentário:

Postar um comentário