Acoplamento e coesão estão fortemente relacionados em Serviços Distribuídos:
Forte coesão:
- Facilidade de alterações nas funcionalidades de negócio;
- Alterações no menor número possível de módulos em um sistema;
- Releases no menor tempo possível, facilitando o desenvolvimento e testes de um módulo;
- Baixo risco, pois os módulos são lançados de forma independente, reduzindo o risco de falhas em todo sistema.
Quando uma funcionalidade de um sistema distribuído está dividida por vários módulos, podemos dizer que a coesão modular é baixa. O objetivo em sistemas distribuídos é ter uma coesão modular alta, o que significa que cada módulo deve ter uma única responsabilidade bem definida.
Baixo acoplamento:
- Flexibilidade entre os módulos de um sistema distribuído;
- Facilidade de manutenção e testes;
- Baixo risco de erros e falhas.
Quando os módulos de um microsserviço possuem baixo acoplamento, uma alteração em um ponto deve ter impacto mínimo em outros módulos. Uma das maiores vantagens de um microsserviço é a facilidade de alterar e implantar um módulo sem o risco de impacto em outros.
Uma vez que um sistema distribuído possui baixa coesão, as funcionalidades estarão distribuídas por vários módulos. Isso significa que as alterações impactarão vários microsserviços, resultando em alto acoplamento entre eles.
“A structure is stable if cohesion is strong, and coupling is low”
Constantine’s Law
Se você gostou desse post, não deixe de me seguir aqui e se inscrever na minha newsletter para receber essas e outras dicas sobre clean code e sistemas distribuídos✌️
Top comments (0)