composite carlos roberto marques junior. propósito do padrão estruturar objetos em forma de...

21
Composite Carlos Roberto Marques Junior

Upload: internet

Post on 16-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Composite

Carlos Roberto Marques Junior

Page 2: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Propósito do Padrão

Estruturar objetos em forma de árvore para representar hierarquias de parte-todo.

Permitir o tratamento uniforme de objetos individuais e composições de objetos

É chamado composição recursiva.

Page 3: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Motivação

Um sistema de criação e manipulação de figuras geométrias, figuras e texto, como editores de desenhos.

Domínio: Linhas, Retângulos, Círculos, Texto e composição dos anteriores.

Page 4: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Motivação

Implementação Simples:– Definir classes para primitivas básicas;– Definir outras classe containers.

Page 5: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Motivação

Padrão Composite

Page 6: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Motivação

Page 7: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Aplicabilidade

Representação de hierarquias parte-todo de objetos;

Capacidade dos clientes de abstrair a diferença entre composições de objetos e objetos individuais.– Tratamento uniforme para objetos da estrutura.

Page 8: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Estrutura

Page 9: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Estrutura

Page 10: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Participantes

Component– Declara a interface para os objetos na

composição;– Implementa comportamento-padrão para a

interface comum a todas as classes;– Declara uma interface para acessar e gerenciar

os seus componentes-filhos.

Page 11: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Participantes

Leaf– Representa objetos-folha na composição;

Um objeto folha não pode ter filhos.

– Define comportamento para objetos primitivos na composição.

Page 12: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Participantes

Composite– Define comportamento para componentes que

têm filhos;– Armazena os componentes-filhos;– Implementa as operações relacionadas com os

filhos presentes na interface de Component.

Page 13: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Participantes

Client– Manipula objetos na composição através da

interface Component.

Page 14: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Colaboração

Os clientes lidam com a interface da classe Component para interagir com os objetos da estrutura.

Se o objeto referenciado pelo Component é uma Leaf, então a solicitação é tratada diretamente.

Se o objeto for um Composite, ele repassa as solicitações para os seus componentes-filhos.

Page 15: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Consequências

Torna o cliente simples– Cliente lida com objetos compostos assim como

lida com os primitivos;

Page 16: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Exemplos

Page 17: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Exemplos

Page 18: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Exemplos

Page 19: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Exemplos

Page 20: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Exemplos

Page 21: Composite Carlos Roberto Marques Junior. Propósito do Padrão Estruturar objetos em forma de árvore para representar hierarquias de parte-todo. Permitir

Dúvidas

[email protected]