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.
Top comments (0)