Pesquisa sobre coesão e acoplamento
CURSO: GESTÃO EM TECNOLOGIA DA INFORMAÇÃO. MODULO III
ANÁLISE E PROJETO DE SISTEMAS
GUILHERME DIAS
Pesquisa sobre os conceitos de Coesão e acoplamento:
Acoplamento: Acoplamento é o grau em que uma classe conhece outra classe. Se o único conhecimento que a classe A tem sobre a classe B é o que a classe B expôs através da sua interface, então diz-se das classes A e B que elas têm acoplamento fraco, e isso é Excelente! Se, por outro lado, a classe A depende de partes da classe B que não fazem parte da interface da classe B, então o acoplamento entre as classes é mais forte e isso não é bom. Em outras palavras, se A sabe mais do que deveria sobre a maneira pela qual B foi implementada, então A e B tem acoplamento forte. Usando este segundo cenário, imagine o que acontece quando a classe é aprimorada. É bem possível que o desenvolvedor que esteja aprimorando a classe B nem saiba da existência da classe A, afinal por que deveria? O pior caso possível é a horrível situação em que a classe A sabe de coisas não-relativas à API sobre a classe B, e a classe B sabe de coisas não-referentes à API sobre a classe A, isso é PESSÍMO. Se qualquer uma das classes for modificada, é possível que a outra seja danificada.
Veja o exemplo:
//exemplo de Acoplamento class doTaxas { float valor; float doGoiania() {
TaxaDeImpostos tdi = new TaxaDeImpostos(); valor = tdi.taxasImposto; // isto deveria ser uma chamada a método:
// valor = tdi.getTaxasImposto("goiania");
// faz coisas com o valor return valor;
}
} class TaxaDeImpostos { public float taxasImposto; // deveria ser private public float ajustarTaxasDeImposto; // deveria ser private public float getTaxasImposto(String regiao) { taxasImposto = new doTaxas().doGoiania(); // de novo!!!
// Executa cálculos com base na região estabelecida return ajustarTaxasDeImposto;
}
}
Coesão:
Enquanto que o acoplamento tem haver com a forma como as classes interagem uma