📎 Webclip
Padrão de projeto de software - JavaScript: Composite
O artigo apresenta o Composite como um padrão formado por partes que compõem um todo, com dois ganhos centrais: tratar uma coleção como objetos individuais e organizar objetos em uma estrutura de árvore com a implementação interna escondida. O exemplo em JavaScript usa uma galeria de imagens para mostrar como composites e folhas compartilham a mesma interface, mesmo quando as folhas não têm filhos.
Fichamento#
- Composite é descrito como uma composição de várias peças para formar uma entidade inteira.
- Um benefício é aplicar a mesma operação ao conjunto e a cada objeto da coleção.
- Outro benefício é organizar os objetos em uma árvore e ocultar como os filhos são armazenados.
- A hierarquia do padrão tem dois tipos de objetos: folha e composite.
- Folhas não têm filhos, enquanto composites têm.
- O sistema de arquivos aparece como exemplo comum, com discos e pastas como composites e arquivos como folhas.
- A árvore binária é citada como um tipo especial de composite, com no máximo dois filhos por nó.
- O exemplo em JavaScript usa uma galeria de imagens em vez de um sistema de arquivos.
- O código define os métodos add, remove e getChild para o composite.
- A galeria também define hide e show para afetar o composite e todos os seus filhos.
- A classe folha da imagem implementa os mesmos métodos, mas add, remove e getChild não fazem nada.
- jQuery é usado para ajudar no trabalho com o DOM.
- Um contêiner principal é adicionado ao body e depois exibido.
- O texto diz que o padrão torna o código mais fácil de usar, mantém os objetos fracamente acoplados e dá uma estrutura clara.
- O artigo também alerta que um composite grande pode esconder custos de desempenho.
- O texto encerra dizendo que Composite é uma ferramenta poderosa e deve ser usada com cuidado.
