Skip to content
This repository has been archived by the owner on May 23, 2021. It is now read-only.

Latest commit

 

History

History

compositepattern

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Composite Pattern

O padrão Composite é um padrão estrutural que permite executar operações num objeto sem lidar diretamente com a hierarquia de objetos. Este padrão utiliza composição recursiva numa estrutura em árvore de objetos relacionados hierarquicamente. Esta estrutura permite processar objetivos primitivos e compósitos. Enquanto os objetos primitivos são indivisíveis, os objetos compósitos podem ser decompostos em outros compósitos ou objetivos primitivos.

Uma escola é um exemplo de um compósito que pode ser dividido em outros compósitos (e.g., departamentos). Um departamento pode ser outro compósito de cursos. O curso pode ser outro compósito de alunos, enquanto que um aluno é um elemento primitivo (indecomponível).

Na estrutura do Composite, o Component é definido numa classe abstrata para representar objetos primitivos e objetos compósitos. As restantes classes são subclasses do objeto Component. A interface da classe abstrata representa o denominador comum de ambas classes derivadas.




Exercício

Aplique o padrão Composite à descrição de opções de um menu HTML. O menu pode ter opções e subopções, no entanto, apenas as opções finais têm links para páginas.

Links