Coesão e acoplamento tanto medir a relação entre os componentes de computador. Medidas de coesão como os componentes de um módulo de software , ou uma classe de objectos de software relacionam uns com os outros . Acoplamento mede a relação entre classes e módulos separados. Boa programação aumenta a coesão e diminui a quantidade de acoplamento. Coesão
Uma classe ou módulo tem alta coesão se todas as responsabilidades, os dados e métodos que inclui estão intimamente relacionados. Se um módulo de projeto de programação inclui apenas os métodos ou funções relacionadas com a programação , é altamente coesivo e, se ele também inclui organogramas e um banco de dados do cliente , é menos coesa. Para medir a coesão , calcule o número de campos compartilhados que métodos - sub-rotinas - em uma classe tem que acessar e compará-lo com o número de campos não relacionados que utilizam. Quanto maior o número de campos comuns , maior a coesão
Significado
Se um módulo tem que lidar com várias operações - . Segurança , infra-estrutura , regras de rede - torna-se mais difícil de trabalhar do que se tudo no módulo se concentra em um único propósito . Com um modelo de baixa coesão , você pode ter que fazer várias alterações não relacionadas , pois cada parte precisa de uma correção ou patch diferente. Por outro lado, se as funções relacionadas são divididos em vários arquivos ao invés de um único arquivos coesas , você pode ter que fazer alterações idênticas repetidas para cada arquivo , em vez de uma única correção em um único arquivo .
acoplamento
Quando seu projeto de software utiliza acoplamento forte entre classes ou subsistemas , o que significa que estão interligados : Sistema A não pode realizar o seu trabalho sem saber detalhes sobre o que o Sistema B está fazendo, e um mudança de B significa um tem de mudar também . Com o acoplamento fraco , você pode alterar o sistema A com mais facilidade. É também mais difícil de estudar o código para um , se você não pode compreendê-lo , sem analisar o código para B e sua relação.
Eficiência
Baixo acoplamento faz a codificação mais eficiente, pois você pode reutilizar mais de código : Se Sistema A e Sistema B não são interdependentes , você pode copiar o código para um deles em outro programa sem dificuldade. Software que inclui codificação duplicada para funções duplicadas é outro sinal de ineficiência. Você é muitas vezes melhor se você reescrever o programa para eliminar funções duplicadas , em seguida, atribuir a função a seu próprio módulo coeso. Quanto mais baixo o nível de acoplamento , os mais fáceis tais mudanças radicais tornou.