Diferença entre Acoplamento (Coupling) e Coesão (Cohesion)

1 resposta
jcnborges

Prezado(s),

No livro SCJP For Java SE 6 da Kathy Sierra, ela descreve dois conceitos no final do Capítulo 2: Acoplamento (Coupling) e Coesão (Cohesion). Eu li a explicação e não entendi muito bem a diferença entre os dois. Alguém poderia me explicar melhor esses conceitos, principalmente a diferença entre eles? Obrigado!!!

1 Resposta

A

Acoplamento pode ser definido como a dependência entre duas classes. Se são muito dependentes, o comportamento de uma interfere na de outra , diz-se que elas tem alto acoplamento , o que não é muito desejado em um projeto de software. As classes , se bem definidas, precisam ser independentes umas das outras , por outra precisam ter acoplamento fraco ( baixo) .
Já Coesão pode ser definido como a responsabilidade de uma classe . Se ela foi definida para fazer cálculo do tipo soma , não faz sentido fazer outros cálculos como multiplicação e derivada.
O ideal é que a classe seja altamente coesa, isto é, seja criada para apenas uma funcionalidade. Outras funcionalidades que não sejam inerentes ao seu papel devem ser usadas através de serviços de outras classes.

Criado 26 de junho de 2014
Ultima resposta 26 de jun. de 2014
Respostas 1
Participantes 2