1 - Acoplamento de dados: troca de parâmetros (o melhor): quando módulos ou classes compartilham dados via parâmetros. Cada parâmetro é uma parte elementar, send esta o unico dado compartilhado entre módulos ou classes (Ex. passando um inteiro para uma função que calcula aus raiz quadrada
2 - Acoplamento de imagem (estrutura de dados comum utilizada parcialmente em vários módulos)
3 - Acoplamento de controle - exemplo: flags indicando o que um módulo deve fazer (intermediário), quando um módulo ou classe controla a lógica de outro, passando informações de que operações executar.
4 - Acoplamento comum (módulos acessam área de dados comum): quando dois módulos ou classes compartilham os meswmos dados globais (Ex. uma variável global). Mudanças nos recursos compiartilhados implicará mudanças em todos os módulos que os utilizam.
5 - Acoplamento de conteúdo: se um módulo faz referência ao interior do outro (o pior): Quando um módulo ou classe altera ou depende de uma funcionalidade interna de outro módulo (Ex. acessando dados locais de um módulo). Uma alteração no modulo de serviço acarretará alterações no módulo dependente.