A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padrão de Projeto Composite

Apresentações semelhantes


Apresentação em tema: "Padrão de Projeto Composite"— Transcrição da apresentação:

1 Padrão de Projeto Composite
Leandro Alvim

2 Propósito do Padrão Compor objetos em uma estrutura de árvore
Representar hierarquias de parte-todo Tratar objetos e composições de objetos uniformemente Mascarar ao Cliente a manipulação desses objetos

3 Motivação - Exemplo Um figura pode ser
Linha, retângulo ou texto (primitivas)‏ Uma figura conter Figura (composição de primitivas)‏ O Cliente quer apenas desenhar a figura Aspectos estruturais não são relevantes O que é Linha ?

4 Motivação - Exemplo Uma figura é uma composição de uma figura com primitivas

5 Estrutura

6 Participantes Leaf (nó folha ou terminal)‏ Component (nó)‏
Define a interface para os objetos da composição Implementa o comportamento de uma interface comum para todas as composições e objetos dessas composições Define uma inetrface para manipulação e aesso para os componentes filhos Leaf (nó folha ou terminal)‏ Define o comportamento do objeto primitivo Objeto folha de uma composição Não possui filhos

7 Participantes Client Composite (nó não-terminal)‏
Armazena componentes filhos Define um comportamento comum para os objetos filhos Implementa operações da interface Component que estão relacionadas aos seus componentes filhos Client Manipula objetos que estão contidos em composições a partir da interface Component

8 Colaborações

9 Aplicabilidade Quando se quer representar hierarquias de parte-todo
Quando a distinção entre objetos e composições de objetos é irrelevante ao Cliente Cliente trata objetos e composições uniformemente

10 Conseqüências Vantagens
Traz ao Cliente a simplicidade quanto a utilização de uma estrutura Tratamento semehante para primitivas e composições Facilidade quanto a adição de novos componentes Não há necessidade de reestruturação do Cliente A adição de um novo componente não altera a estrutura de outras classes da árvore Melhor organização dos objetos primitivos Objetos complexos são obtidos a partir da composição de objetos simples

11 Conseqüências Desvantagem
Quando o Cliente necessita de um conjunto restrito de componentes que encontram-se em uma composição Solução: Utilizar uma verificação em tempo de execução

12 Exemplo de código Component Leaf

13 Exemplo de código Composite

14 Exemplo de código

15 Fim


Carregar ppt "Padrão de Projeto Composite"

Apresentações semelhantes


Anúncios Google