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

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay