composite carlos roberto marques junior. propósito do padrão estruturar objetos em forma de...
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