DEV Community

Cover image for Acoplamento e Coesão
Ortiz de Arcanjo António David
Ortiz de Arcanjo António David

Posted on

1

Acoplamento e Coesão

Conceitos de Acoplamento

  • Acoplamento: Indica a medida em que um módulo conhece e depende de outros.
  • Baixo Acoplamento: As mudanças em um módulo têm menos impacto nos outros.
  • Alto Acoplamento:  As alterações em um módulo podem afectar vários outros.

Conceitos de Coesão

  • Coesão: Indica o quão bem as responsabilidades de um módulo estão agrupadas.
  • Alta Coesão: O módulo tem responsabilidades relacionadas e está focado em realizar uma única tarefa.
  • Baixa Coesão: As responsabilidades estão menos relacionadas.

Abordagens de comunicação

  • Comunicação por mensageria.
  • Comunicação Tradicional.

Comunicação por mensageria

  • Comunicação assíncrona.
  • Módulos enviam e recebem mensagens.
  • Definição de contratos de mensagens via interfaces.
  • Promove o desacoplamento entre módulos.
  • Módulos se comunicam via Message Bus
  • Ferramentas: RabbitMQ, Kafka, etc.

Comunicação Tradicional

  • Chamada de funções entre módulos.
  • Uso de objectos, structs, traits, entre pacotes.
  • Um módulo chama o outro módulo.
  • Uso de namespaces, pacotes, modules.

Observações

  • É difícil garantir desacoplamento total
  • Há sempre alguma dependência entre os módulos.
  • Mesmo com uso de contratos, interfaces e mensageria, haverá um nível de dependência.
  • É normal existir dependência entre um módulo e outro.

Código Fonte:

Image description

Image description

Image description

Image description

Image description

Image description

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

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

Okay