klauss.krenek
(usa Debian)
Enviado em 21/08/2015 - 16:22h
Coesão está ligada ao princípio da responsabilidade única, e diz que uma classe deve ter apenas uma única responsabilidade, ou seja, uma classe não deve assumir responsabilidades que não são suas . Por exemplo: Uma classe Cliente não deve ter métodos que manipulem produtos , vendas ou conexão com banco de dados.
Acoplamento significa o quanto uma classe depende da outra para funcionar. E quanto maior for esta dependência entre ambas, mais frágil seu sistema se torna, pois qualquer alteração em uma classe, esta se propaga por todo o sistema.
A coesão e o acoplamento 'andam de mão dadas', pois quanto mais sua classes estão acopladas, menos coesas estão. E vice-versa.
Uma forma de diminuir o acoplamento é programar voltado para interfaces, aplicar o conceito de inversão de controle e injeção de dependência.
Um bom livro que fala sobre esse assunto é: Orientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis de Maurício Aniche, da Casa do Código (http://www.casadocodigo.com.br/products/livro-oo-solid).
Os e-books da Casa do Código são bons e de baixo custo.
Espero ter ajudado.