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

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

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