A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo.

Apresentações semelhantes


Apresentação em tema: "Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo."— Transcrição da apresentação:

1 Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo

2 © LES/PUC-Rio Iterator Motivação –Permitir uma iteração por todos os elementos de um agregado, independente da estrutura de armazenamento. –Fornecer uma forma de acesso genérica aos elementos de um agregado sem expor sua representação interna. –Fazer duas iterações concorrentes em um agregado, cuja interface pode só permitir uma única por vez. Ex: Arvore binária.

3 © LES/PUC-Rio Iterator Propósito –Padronizar a iteração sobre os elementos de agregados. –Permitir modificações na estrutura interna do agregado sem afetar quem faz uso dele apenas para iteração. –Permitir a troca do tipo do agregado sem afetar quem faz uso dele apenas para iteração.

4 © LES/PUC-Rio Iterator Aplicabilidade –Prover interface única de iteração sobre agregados. –Onde existe ganho em usar um objeto, obtido através do padrão de projeto Factory, responsável pela iteração sobre os elementos do agregado.

5 © LES/PUC-Rio Iterator Estrutura

6 © LES/PUC-Rio Iterator Participantes –IAgregate Interface que especifica a fábrica de iteradores. –ConcreteAgregate Armazena os elementos efetivamente em uma estrutura de interesse. Define o método de criação do seu iterador. –Iterator Interface que define primitivas de controle sobre a iteração dos elementos. –ConcreteIterator Implementa as primitivas de controle sobre a iteração.

7 © LES/PUC-Rio Iterator Colaborações –O usuário do Agregado pede um iterator. –O iterator mantém a posição corrente durante a iteração sobre os elementos do agregado. –Para cada passo na iteração, o usuário pode realizar operações sobre o elemento.

8 © LES/PUC-Rio Iterator Conseqüências –Generalidade na iteração sobre os elementos de um agregado. –Possibilidade de realizar múltiplas iterações concorrentes sobre um agregado. –Troca da implementação do agregado sem afetar quem faz iteração sobre seus elementos.

9 Iterator © LES/PUC-Rio

10 Iterator Bibliografia –[1] Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, 2st edition, Addison-Wesley Professional Computing Series, 1998.

11 Fim!


Carregar ppt "Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo."

Apresentações semelhantes


Anúncios Google