Pregunta de entrevista de Leggett & Platt

What is dependency injection and when would you use it?