.net 6 Console App Dependency Injection

3 min read Jun 03, 2024
.net 6 Console App Dependency Injection

L'injection de dépendances dans une application console .NET 6

Introduction

L'injection de dépendances (DI) est un principe de conception qui permet de réduire le couplage entre les différentes parties de votre application. Dans .NET 6, l'injection de dépendances est intégrée au framework et peut être utilisée facilement dans les applications console.

Configuration de l'injection de dépendances

Pour utiliser l'injection de dépendances dans une application console .NET 6, vous devez ajouter le package Microsoft.Extensions.DependencyInjection à votre projet. Ensuite, vous pouvez configurer le conteneur de dépendances dans la méthode Program.Main.

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace MyConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Création de l'hôte
            var host = Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    // Configuration des services
                    services.AddTransient();
                })
                .Build();

            // Récupération du service
            var myService = host.Services.GetRequiredService();

            // Utilisation du service
            myService.DoSomething();

            // Exécution de l'application
            host.Run();
        }
    }
}

Interfaces et implémentations

L'injection de dépendances repose sur l'utilisation d'interfaces et d'implémentations. Une interface définit un contrat que les différents services doivent respecter. Une implémentation est une classe qui implémente l'interface et fournit la logique concrète.

// Interface
public interface IMyService
{
    void DoSomething();
}

// Implémentation
public class MyService : IMyService
{
    public void DoSomething()
    {
        Console.WriteLine("Faire quelque chose...");
    }
}

Injection de dépendances dans les classes

Pour utiliser l'injection de dépendances dans une classe, vous devez injecter les services dont elle dépend dans le constructeur.

public class MyOtherClass
{
    private readonly IMyService _myService;

    public MyOtherClass(IMyService myService)
    {
        _myService = myService;
    }

    public void DoSomethingElse()
    {
        _myService.DoSomething();
        Console.WriteLine("Faire quelque chose d'autre...");
    }
}

Conclusion

L'injection de dépendances est un outil puissant qui peut vous aider à créer des applications plus maintenables et plus testables. En utilisant l'injection de dépendances dans votre application console .NET 6, vous pouvez réduire le couplage entre vos classes, faciliter le test de votre code et améliorer la réutilisation des composants.