composite carlos roberto marques junior. propósito do padrão estruturar objetos em forma de...
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051515/552fc0f8497959413d8b4a02/html5/thumbnails/20.jpg)
Exemplos