Falando nisso, eu fui ler no wikipedia a definição de coesão em linguagem de programação e o conceito ficou muito confuso. Alguém saberia explicar melhor?
dreampeppers99
Coesão (em oo) - O quanto uma classe cumpre corretamente suas responsabilidades, não assumindo responsabilidades de outros classes (conceitos) mantendo a granulidade.
Resumindo: (de uma maneira bem resumida)
Pessoa
-nome
-idade
+vender()
+autenticar()
+enviarEmail()
A classe acima possui métodos que não deveriam pertencer a ela (de acordo com o negócio) além de possuir uma alta granulidade de responsabilidades possivelmente uma refatoração extraindo classes desta seria uma boa solução.
Essa coesão depende sempre do domínio em questão.
fabeen
Acoplamento seria o quanto estão dependentes os seus programas/componentes/camadas. Quanto maior acoplamento, menor o nível de coesão.
pcalcado
Soh um detalhe: coesao e acomplamento podem se referenciar a clasesm acotes, metodos e ate atributos. Lteratura recomendada: Meilir Page-Jones.
H
Henrique_Mota_Esteve
pcalcado, por um acaso a literatura recomendada seria: Fundamentals of Object-Oriented Design in UML?