Composite
Introducao:
Padrão
estrutural centralizado na organização e na composiçao de classes e seus objetos.ou seja sao usados para capturar intenços focalizadas na composição estrutural dos objetos.
função
Fazer
com que um objeto possa ser genericamente operado,de forma que represente uma estrutura dinâmica hierárquica de composiçõs de objetos.
problema
Compor
objetos em estrutura de arvore para representarem hierarquias partetodo.Composite permite aos clientes tratarem de maneira uniforme objetos individuais e composiçoes de objetos.
motivação
Em alguns sistemas,como por exemplo,aplicaçoes graficas tais como editores de desenhos e sistemas de captura esquematicas,permitem aos usuarios construir diagramas complexos a partir de componentes simples.o usuario pode agrupar componentes para formar componentes maiores,os quais ,por sua vez,podem ser agrupados para formar componentes ainda maiores.
motivação
Uma implementacao simples poderia definir classes que funcionam como recipientes para essas primitivas. Porem,ha um problema com essa abordagem:o codigo que usa essas classes deve tratar objetos primitivos e objetos recipientes de modo diferente,mesmo se na maior parte do tempo o usuario os trata de forma identica.ter que distinguir entre esses objetos torna a aplicação mais complexa.o padrão composite descreve como usar a composicao recursiva de maneira que os clientes não tenham que fazer essa distinção.
exemplo
Use
o padrão composite quando quiser representar hierarquias partes-todo de objetos. Quando quiser que os clientes sejam capazes de ignorar a diferença entre composiçao de objetos e objetos individuais.os clientes tratarão os objetos na estrutura composta de maneira uniforme.
Usos conhecidos
O
framework compilador RLT Smatalk usa o padrao composite extensamente.
A RTL Expression e uma classe component para arvores de analise
(parse tree).
Solucionado problemas
Um
congresso inscreve