.NET explica cómo funciona la inyección de dependencias: registro, resolución, constructor, ciclos de vida y buenas prácticas de diseño.