Sobes.tech
Junior — Middle

Explique el concepto de Inyección de Dependencias en ASP.NET Core y cómo se aplica en el desarrollo de aplicaciones.

sobes.tech AI

Respuesta de la IA

La inyección de dependencias (DI) en ASP.NET Core es un mecanismo que permite inyectar dependencias (por ejemplo, servicios, repositorios) en clases sin necesidad de crearlas manualmente. Esto aumenta la modularidad, la capacidad de prueba y simplifica la gestión de dependencias.

En ASP.NET Core, DI está integrado en el framework y se configura en el método ConfigureServices de la clase Startup o en Program.cs.

Ejemplo de registro y uso de un servicio:

// Interfaz del servicio
public interface IMessageService {
    string GetMessage();
}

// Implementación del servicio
public class MessageService : IMessageService {
    public string GetMessage() => "¡Hola desde DI!";
}

// Registro en ConfigureServices
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Uso a través del constructor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

    public IActionResult Index() {
        var message = _messageService.GetMessage();
        return Content(message);
    }
}

De esta manera, ASP.NET Core creará automáticamente una instancia de MessageService y la pasará al controlador, evitando la necesidad de crear objetos manualmente.