devterview_$ iniciar simulação

Injeção de dependência sem framework

DifícilSêniorPrincípios

Pergunta

O que é injeção de dependência, e por que ela ajuda a testar mesmo sem nenhum container ou framework de DI?

Resposta esperada

Injeção de dependência é passar as dependências de um objeto de fora (pelo construtor ou por parâmetro) em vez de o objeto criá-las internamente com `new`. Sem framework nenhum: se `PedidoService` recebe um `PagamentoGateway` no construtor, o teste passa um fake/stub e verifica o comportamento sem tocar na rede; em produção você passa a implementação real. Um 'container de DI' só automatiza essa passagem quando o grafo cresce — o valor (testabilidade, trocar implementação, ver as dependências explícitas na assinatura) vem do padrão, não da ferramenta. É o D de SOLID aplicado.

Por que perguntam isso

Pergunta pleno/sênior. Erro comum: achar que DI = usar Spring/NestJS. Resposta forte mostra o construtor recebendo a interface e o teste injetando um duplo.

#injecao-de-dependencia#dip#testabilidade
publicidade

Relacionadas