dev-resources.site
for different kinds of informations.
Acoplamento e Coesão
Published at
11/13/2024
Categories
go
architecture
software
Author
Ortiz de Arcanjo António David
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:
Articles
12 articles in total
Como passar funções para Templates usando Go?
read article
🚀 Animado para compartilhar meu novo repositório no GitHub!
read article
Ferramentas para Estruturação de Projetos: Geração de Código e Configurações
read article
Cenário Real do Desenvolvimento de Software
read article
Design de uma Base de Dados Modular
read article
Verdades Duras sobre Desenvolvimento de Software
read article
Níveis de Abstração na Implementação de Software
read article
Aprenda Lógica de Programação
read article
Acoplamento e Coesão
currently reading
Como Tratar Diferentes Tipos de Logs em Go?
read article
Como Validar Dados em Golang?
read article
Manipulação de Datas em Golang
read article
Featured ones: