Padrão estrutural - composite

2053 palavras 9 páginas
Composite – Padrão Estrutural
Intenção

Compor objetos em estruturas de arvores para representarem hierarquias partes - todas.
Composite permite aos clientes tratarem de maneira uniforme objetos individuais e composições de objetos.

Motivação

Aplicações gráficas, tais como editores de desenhos e sistemas de captura esquemática, permitem aos usuários construir diagramas complexos a partir de componentes simples. O usuário pode agrupar componentes para formar componentes ainda maiores. Uma implementação simples poderia definir classes para primitivas gráficas, tais como Texto e Linhas, além de outras classes que funcionam como recipientes (containers) para essas primitivas.

Porém, há um problema com essa abordagem: o código que usa essas classes deve tratar objetos primitivos e objetos recipientes de modo diferente, mesmo se na maior parte do tempo o usuário os trata de forma idêntica. Ter que distinguir entre esses objetos torna a aplicação mais complexa. O padrão Composite descreve como usar a composição recursiva de maneira que os clientes não tenham que fazer essa distinção.

A chave para o padrão Composite é uma classe abstrata que representa tanto as primitivas como os seus recipientes. Para o sistema gráfico, esta classe é Graphic. A Graphic declara operações tomo Draw, que é são específicas de objetos gráficos. Ela também declara operações que todos os objetos compostos compartilham, tais como operações para acessar e administrar seus filhos.
As subclasses Line, Rectangle e Text (ver diagrama de classes precedente) definem objetos gráficos primitivos Essas classes implementam Draw para desenhar linhas, retângulos e textos, respectivamente. Uma vez que as primitivas gráficas não têm filhos gráficos, nenhuma dessas subclasses implementam operações relacionadas com filhos.
A classe Picture define um agregado de objetos Graphic. Picture implementa Draw para chamar Draw em seus filhos e implementa operações relacionadas com filhos da maneira

Relacionados

  • Banco de dados
    1320 palavras | 6 páginas
  • EXERCICIO POS
    548 palavras | 3 páginas
  • Composite
    318 palavras | 2 páginas
  • Padrão de Projeto
    8255 palavras | 34 páginas
  • Padroes_projetos_questionario_v1.pdf
    7828 palavras | 32 páginas
  • Design Patterns
    3121 palavras | 13 páginas
  • Padroes de projeto
    4822 palavras | 20 páginas
  • Padrões de Projetos
    5705 palavras | 23 páginas
  • Compósitos estruturais
    5356 palavras | 22 páginas
  • Orientador De Estudos APD2 2 Respostas
    3968 palavras | 16 páginas