Sobes.tech
Junior — Middle

Spiega il concetto di Dependency Injection in ASP.NET Core e come viene applicato nello sviluppo di applicazioni.

sobes.tech AI

Risposta dell'AI

L'iniezione di dipendenza (DI) in ASP.NET Core è un meccanismo che consente di iniettare dipendenze (ad esempio, servizi, repository) nelle classi senza doverle creare manualmente. Questo aumenta la modularità, la testabilità e semplifica la gestione delle dipendenze.

In ASP.NET Core, DI è integrato nel framework e viene configurato nel metodo ConfigureServices della classe Startup o in Program.cs.

Esempio di registrazione e utilizzo di un servizio:

// Interfaccia del servizio
public interface IMessageService {
    string GetMessage();
}

// Implementazione del servizio
public class MessageService : IMessageService {
    public string GetMessage() => "Ciao da DI!";
}

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

// Utilizzo tramite il costruttore
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

In questo modo, ASP.NET Core creerà automaticamente un'istanza di MessageService e la passerà al controller, evitando di dover creare manualmente gli oggetti.