Coupling , Cohesion

Aew pessoal…
Estou começando a estudar para a certificação, e derepente me deparei com Coupling ,Cohesion …
Dei uma procurada no google mais achei varios artigos e talz, mas ainda continuo nao entendendo muto bem
se alguem poder me ajudar agradeço desde ja!
Vlw !

Bom vou tentar de explicar nao usando uma linguaguem tecnica depois vc converte blz?.. realmente na primeira leitura é meio confuso isso mesmo.
mas la vai…

Cohesion (coesao)–> aqui vc define foco da sua classe, ou seja… diz apenas o que ela vai fazer e qual o objetivo dela. É recomendavel que vc tenha uma alta coesão em seus programas. veja um exemplo de alta e baixa coesão.

//baixa
class CadastroCliente{
void setCadDependetes(){}
void setCadCompra(){}
}

nesse exemplo ai vc tem baixa coesao… sua class faz tanta coisa… ela nao é definida…ela é “multitarefa”… faz tudo cadatra o cliente, cadastra os dependentes do cliente, cadastra as compras do cliente… e isso quebra todo o conceito de extensibilidade, reutilização etc.
agora veja essaa:

class CadastroCliente{
void setNome(){}
void setCPF(){}
}

observe que essa aqui tem a alta coesão ela faz uma unica coisa so cadastra os clientes e mais nada…
Entao conclui que vc deve ter alta coesão uma class bem definida… aquela ideia de vc colocar tudo em uma unica class… vc tem a baixa coesão.

Coupling -Acomplatamento - é o grau em que uma class conhece mais do que devia da outra,. É ideal que vc tenha o baixo acomplamento

//alto acomplamento
class Gerente{
public double salario=10.000;
}
class Fun{
void setSalario(){
System.out.println(new Gerente().salario);
}

observe que to acessando de outra classe um valor que nao deveria nem ser quer ter acesso que é o salario do gerente… e tb ainda posso alterar… entao a class Fun sabe demais do que devia da outra classe. Acomplamento tem relação com o conceito TEM-UM(HAS-A). Ou seja a class tem-um objeto da outra class.

resumo: desejavel o baixo acoplamento e a alta coesão.

flw! espero ter ajudado!!

aew LPJava !!!
valeu cara ajudou muito
vlw msm ate mais!!!