DEV Community

Pedro Dos Santos
Pedro Dos Santos

Posted on

Design Pattern - Compound Components

É um padrão avançado de design utilizado para a construção de componentes que trabalham juntos e de forma coesa, promovendo maior flexibilidade, controle e comportamento sobre o componente.Permitindo que se crie um conjunto de componentes que funcionam juntos para formar uma unidade funcional maior, de forma que cada componente individual não tenha conhecimento direto e não esteja acoplado aos demais, mas que juntos funcionam bem.

Um bom exemplo de utilização de componentes compostos pode ser visto em HTML com os elementos e . Eles não fazem muita coisa sozinhos, mas juntos fornecem uma experiência completa e funcional ao usuário, que ao clicar numa opção, o select tem conhecimento de qual foi clicado, pois os componentes compartilham os estados por conta própria sem precisar configurá-la explicitamente.

Aqui está uma visão geral de vantagens e desvantagens do uso dos componentes compostos:

Vantagens:

  • Separação de responsabilidades: Aplicando esse conceito, é possível separar claramente o relacionamento entre os componentes pais e filhos, gerendo um código mais modularizado e fácil de entender.
  • Reutilização: Pelo fato dos componentes estarem devidamentes separados, é capaz de utilizar em vários lugares sem a necessidade de duplicar código ou funcionalidade.
  • Manutenibilidade: Por gerar menos duplicação de código, e de menor complexidade e melhor compreensão. Torna a manutenção mais fácil.

Desvantagens:

  • Curva de aprendizado: Para novos desenvolvedores implementar esse conceitos requer uma certa curva de aprendizado e necessidade de uma documentação clara de como os componentes interagem entre si.
  • Possível complexidade excessiva: Em determinados casos, os compound components podem levar a uma hierarquia com complexidade maior, principalemente quando não foram projetados para isso.

Image description

Top comments (0)