Compositor

Disponível somente no TrabalhosFeitos
  • Páginas : 13 (3033 palavras )
  • Download(s) : 0
  • Publicado : 24 de junho de 2012
Ler documento completo
Amostra do texto
Universidade Federal de Goiás UFG Bacharelado em Ciência da Computação

Programação Orientada a Objetos Padrões de Projeto COMPOSITE

Giancarlo Santana Batista Fleuri 110935 Prof. Marcos Wagner Souza Ribeiro

Junho – 2012 Jataí - GO

Programação Orientada a Objetos 2012 – Turma IV de Ciências da Computação - CAJ-UFG

COMPOSITE
Intenção
Compor objetos em estruturas de árvore pararepresentarem hierarquias partes-todo. Composite permite aos clientes tratarem de maneira uniforme objetos individuais e composições dos 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 maiores, osquais, por sua vez, podem ser agrupados para formar componentes ainda maiores. Uma implementação simples poderia definir classes para primitivas gráficas, tais como Texto e linhas, até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 demodo 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.

Programação Orientada a Objetos 2012 – Turma IV de Ciências da Computação - CAJ-UFG

A chave para o padrãoComposite é 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, qué 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 diagramade 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 eimplementa operações relacionadas com filhos da maneira necessária. Como a interface de Picture segue a interface de Graphic, os objetos Picture podem compor outros objetos Picture recursivamente. O diagrama a seguir mostra uma típica estrutura de objeto composto, composta recursivamente por objetos gráficos:

Aplicabilidade
Use o padrão Composite quando:

 Quiser representar hierarquiaspartes-todo de objetos;  Quiser que os clientes sejam capazes de ignorar a diferença entre composições de objetos e objetos individuais. Os clientes tratarão todos os objetos na estrutura composta de maneira uniforme.

Estrutura

Programação Orientada a Objetos 2012 – Turma IV de Ciências da Computação - CAJ-UFG

Participantes
 Component (Graphic) - Declara a interface para os objetos nacomposição; - Implementa comportamento-padrão para a interface comum a todas as classes, conforme apropriado; - Declara uma interface para acessar e gerenciar os seus componentes-filhos. - (opcional) define uma interface para acessar o pai de um componente na estrutura recursiva e a implementa, se isso for apropriado.  Leaf (Rectangle, Line, Text, etc) - Representa objetos-folha na composição. Umafolha na o tem filhos; - Define comportamento para objetos primitivos na composição  Composite (Picture) - Define comportamento para componentes que tem filhos; - Armazena tis components-filho; - Implementa as operações relacionadas com os filhos presentes na interface de Component.  Client
- Manipula objetos na composição através da interface de Component.

 Colaborações - Os clientes usam a...
tracking img