Desmistificando o conceito de inversão de controle e sua relação com a injeção de dependência

Um dos grandes temas que geram confusão no meio do desenvolvimento de software diz respeito ao relacionamento entre dois conceitos: a inversão de controle e a injeção de dependência. Neste artigo mostro de forma objetiva, fazendo uso de exemplos cotidianos, o que é a técnica de inversão de controle, como ela auxilia a resolver problemas que ferem o “principio aberto fechado” e como podemos alcança-la a partir da aplicação de uma injeção de dependência.