04 / 19 Arquitetura de software na prática · 23 min de vídeo · atualizado em 13 out 2026

Arquitetura de código: SOLID, acoplamento, coesão e modularização

Entenda como dependências concretas limitam mudanças e use princípios SOLID como critérios, não como checklist.

Fernanda Kipper
Fernanda Kipper
Próxima aula →

O custo aparece quando a regra muda

Imagine que a matrícula envia confirmação por e-mail. Se a regra de matrícula cria diretamente uma classe EmailNotifier, uma troca para WhatsApp ou a necessidade de executar testes sem enviar mensagens altera a regra ou exige truques no teste.

Uma interface ajuda quando representa uma variação real do domínio: Notifier descreve o que a matrícula precisa; implementações concretas traduzem isso para e-mail ou WhatsApp. Isso inverte a dependência de código de alto nível em relação ao detalhe. Injeção de dependência é uma forma de fornecer a implementação; inversão de dependência é a regra sobre a direção das dependências.

A regra de matrícula depende de um contrato; implementações concretas satisfazem o contrato sem serem importadas pela regra.
A regra de matrícula depende de um contrato; implementações concretas satisfazem o contrato sem serem importadas pela regra.

Abrir diagrama em tamanho original

Coesão pergunta se responsabilidades que mudam juntas ficam próximas. Acoplamento pergunta quanto uma parte precisa conhecer da outra. SOLID oferece critérios para observar esses pontos. Aplicar cada princípio sem contexto pode multiplicar interfaces e indirection sem reduzir custo de mudança.

Material complementar da Fernanda

  • Guia SOLID: DIP e injeção de dependência — Leia as seções 1 e 2 e compare com o contrato de notificação desta aula. O guia cobre o D do SOLID, não os cinco princípios. O exemplo NestJS está incompleto; use-o como introdução conceitual, não como projeto executável.

Pratique com /aprender

/aprender Mostre uma regra de matrícula acoplada diretamente ao envio de e-mail. Peça que eu explique o custo de trocar o canal e como testar sem enviar mensagem. Depois guie uma refatoração para um contrato, explicando separadamente injeção e inversão de dependência.
A SEGUIR · AULA 05

Design Patterns na prática: Factory, Strategy, Adapter e Dependency Injection

Material escrito · vídeo previsto para 20/10/2026 · Veja padrões como respostas recorrentes a problemas de criação, variação de comportamento e integração.

Ir para a aula 05 →