Acoplamento e coesão na prática
Pergunta
O que significam acoplamento e coesão, e por que 'baixo acoplamento, alta coesão' é um bom objetivo de design?
Resposta esperada
Coesão é o quanto as coisas dentro de um módulo pertencem umas às outras — alta coesão é um módulo com um propósito único e claro. Acoplamento é o quanto um módulo depende dos detalhes de outro — baixo acoplamento é módulos que conversam por contratos estáveis e mudam independentemente. Você quer os dois porque: alta coesão torna cada peça fácil de entender e mudar isolada; baixo acoplamento evita que uma mudança se espalhe em cascata. O sintoma de acoplamento ruim é 'pra mexer nisso preciso mexer em outras cinco coisas'; o de coesão ruim é um módulo 'utils' que faz de tudo um pouco.
Por que perguntam isso
Pergunta de base pra qualquer conversa de arquitetura. Bom sinal: dar o sintoma prático de cada extremo, não só a definição.