.net Minimal Api Dependency Injection

5 min read Jun 04, 2024
.net Minimal Api Dependency Injection

Dépendances d'injection dans Minimal API .NET : Un Guide Complet

Le modèle d'injection de dépendances (DI) est une pratique courante dans le développement .NET. Il permet de découpler les différentes parties de votre application, rendant votre code plus testable, réutilisable et facile à maintenir. Minimal API, la nouvelle approche légère de développement d'API dans .NET, s'intègre parfaitement avec DI.

Qu'est-ce que l'injection de dépendances ?

L'injection de dépendances est un modèle de conception qui permet à une classe de recevoir ses dépendances de l'extérieur plutôt que de les instancier elle-même. En d'autres termes, au lieu de créer directement des objets dans votre classe, vous les recevez via un "fournisseur" externe.

Pourquoi utiliser l'injection de dépendances dans Minimal API ?

L'utilisation de l'injection de dépendances dans Minimal API offre plusieurs avantages :

  • Découplage: Séparation des responsabilités entre les classes, réduisant les dépendances et les interdépendances.
  • Testabilité: Permet de mocker facilement les dépendances pour tester le comportement d'une classe isolément.
  • Réutilisabilité: Permet de réutiliser des classes facilement dans différents contextes.
  • Maintenance: Facilite la modification et l'extension du code sans affecter les autres parties de l'application.

Configuration de l'injection de dépendances dans Minimal API

Pour utiliser l'injection de dépendances dans Minimal API, vous devez d'abord configurer un conteneur de dépendances. .NET propose le conteneur de dépendances Microsoft.Extensions.DependencyInjection.

Voici les étapes pour configurer DI dans Minimal API :

  1. Créer un fichier de démarrage (Program.cs):
using Microsoft.Extensions.DependencyInjection;

var builder = WebApplication.CreateBuilder(args);

// Ajouter des services à l'injection de dépendances
builder.Services.AddScoped(); 

var app = builder.Build();

// Configurer les endpoints de l'API
app.MapGet("/weatherforecast", (IWeatherForecastService service) => 
{
    return service.GetForecast();
});

app.Run();
  1. Définir les interfaces et les classes:
public interface IWeatherForecastService
{
    IEnumerable GetForecast();
}

public class WeatherForecastService : IWeatherForecastService
{
    public IEnumerable GetForecast()
    {
        // Logique de l'application pour générer la météo
    }
}
  1. Injecter les dépendances dans les endpoints:

Dans cet exemple, l'interface IWeatherForecastService est enregistrée dans le conteneur de dépendances et injectée dans l'endpoint /weatherforecast. Le conteneur de dépendances fournira automatiquement une instance de WeatherForecastService.

Différents types d'enregistrement de dépendances

L'injection de dépendances permet de contrôler le cycle de vie des instances. Voici les types d'enregistrement de dépendances les plus courants :

  • AddSingleton: Crée une seule instance du service pour l'ensemble de l'application.
  • AddScoped: Crée une instance du service pour chaque requête HTTP.
  • AddTransient: Crée une nouvelle instance du service à chaque fois qu'il est demandé.

Conclusion

L'injection de dépendances est un outil puissant pour développer des applications Minimal API .NET robustes et maintenables. En suivant les étapes décrites ci-dessus, vous pouvez facilement intégrer l'injection de dépendances dans votre application et profiter de ses nombreux avantages.

Mots clés: Minimal API .NET, injection de dépendances, DI, conteneur de dépendances, Microsoft.Extensions.DependencyInjection, services

Featured Posts