Você está na página 1de 21

Composite

Carlos Roberto Marques Junior

Propsito do Padro


Estruturar objetos em forma de rvore para representar hierarquias de parte-todo. Permitir o tratamento uniforme de objetos individuais e composies de objetos chamado composio recursiva.

Motivao


Um sistema de criao e manipulao de figuras geomtrias, figuras e texto, como editores de desenhos. Domnio: Linhas, Retngulos, Crculos, Texto e composio dos anteriores.

Motivao
Implementao Simples:

Definir classes para primitivas bsicas; Definir outras classe containers.

Motivao


Padro Composite

Motivao

Aplicabilidade


Representao de hierarquias parte-todo de objetos; Capacidade dos clientes de abstrair a diferena entre composies de objetos e objetos individuais.

Tratamento uniforme para objetos da estrutura.

Estrutura

Estrutura

Participantes


Component

Declara a interface para os objetos na composio; Implementa comportamento-padro 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 composio;




Um objeto folha no pode ter filhos.

Define comportamento para objetos primitivos na composio.

Participantes


Composite

Define comportamento para componentes que tm filhos; Armazena os componentes-filhos; Implementa as operaes relacionadas com os filhos presentes na interface de Component.

Participantes


Client

Manipula objetos na composio atravs da interface Component.

Colaborao


Os clientes lidam com a interface da classe Component para interagir com os objetos da estrutura. Se o objeto referenciado pelo Component uma Leaf, ento a solicitao tratada diretamente. Se o objeto for um Composite, ele repassa as solicitaes para os seus componentesfilhos.

Consequncias


Torna o cliente simples

Cliente lida com objetos compostos assim como lida com os primitivos;

Exemplos

Exemplos

Exemplos

Exemplos

Exemplos

Dvidas

jacques.ufcg@gmail.com

Você também pode gostar