Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Carlos Roberto Marques Junior
Composite Carlos Roberto Marques Junior
2
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.
3
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.
4
Motivação Implementação Simples:
Definir classes para primitivas básicas; Definir outras classe containers.
5
Motivação Padrão Composite
6
Motivação
7
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.
8
Estrutura
9
Estrutura
10
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.
11
Participantes Leaf Representa objetos-folha na composição;
Um objeto folha não pode ter filhos. Define comportamento para objetos primitivos na composição.
12
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.
13
Participantes Client Manipula objetos na composição através da interface Component.
14
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.
15
Consequências Torna o cliente simples
Cliente lida com objetos compostos assim como lida com os primitivos;
16
Exemplos
17
Exemplos
18
Exemplos
19
Exemplos
20
Exemplos
21
Dúvidas
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.