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

Post on 16-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Composite

Carlos Roberto Marques Junior

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.

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.

Motivação

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

Motivação

Padrão Composite

Motivação

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.

Estrutura

Estrutura

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.

Participantes

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

Um objeto folha não pode ter filhos.

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

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.

Participantes

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

interface Component.

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.

Consequências

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

lida com os primitivos;

Exemplos

Exemplos

Exemplos

Exemplos

Exemplos

Dúvidas

crmarquesjc@gmail.com

top related