Fundamentos

Injeção de dependência explicada de forma simples

Injeção de dependência é um termo que costuma assustar quem está aprendendo — soa técnico e abstrato. Na prática, é um conceito mais simples do que o nome sugere: em vez de um código criar tudo que precisa sozinho, ele recebe de fora o que precisa usar.

Um exemplo sem jargão técnico

Imagine uma função que precisa enviar email. Em vez dela criar seu próprio serviço de email internamente, ela recebe esse serviço já pronto como parâmetro. Isso é injeção de dependência — a função não decide sozinha como o email é enviado, ela só usa o que foi entregue a ela.

Por que isso é útil

  • Facilita trocar a implementação sem mexer no código que usa ela
  • Torna mais fácil testar, já que dá pra usar uma versão falsa da dependência no teste
  • Reduz o acoplamento entre partes diferentes do código
  • Deixa mais claro o que cada parte do código realmente precisa pra funcionar

Quando isso aparece na prática

Frameworks modernos de backend costumam usar injeção de dependência de forma automática, entregando pra cada parte do código exatamente o que ela declara precisar, sem você precisar montar isso manualmente toda vez.

Erro comum ao entender esse conceito

Achar que é preciso um framework complexo pra usar injeção de dependência — na verdade, o conceito básico (passar dependência de fora, em vez de criar internamente) pode ser aplicado mesmo em código simples, sem ferramenta nenhuma.

Sinais de que você poderia usar isso

  • Uma função cria internamente algo que poderia vir de fora
  • Fica difícil testar uma parte do código sem executar tudo junto
  • Trocar uma peça do sistema exige mexer em vários lugares diferentes

Curtiu? A trilha gamificada de fundamentos do TrilhaDev é grátis.

Criar conta grátis

Perguntas frequentes

Preciso de um framework pra usar injeção de dependência?

Não necessariamente, o conceito básico pode ser aplicado manualmente em qualquer código.

Isso é a mesma coisa que inversão de controle?

São conceitos relacionados — injeção de dependência é uma forma comum de implementar inversão de controle.

Isso vale a pena aprender logo no início?

Não é urgente pra quem está começando, mas vale entender conforme os projetos forem crescendo em complexidade.