Junior — Middle
Quelles approches et techniques garantissent le respect du principe d'inversion des dépendances dans la conception du système?
sobes.tech IA
Réponse de l'IA
Le principe d'inversion des dépendances (Dependency Inversion Principle) dans la conception de systèmes est réalisé par les approches et techniques suivantes :
- Utilisation d'abstractions plutôt que d'implémentations concrètes. Les classes doivent dépendre d'interfaces ou de classes abstraites, et non de classes concrètes.
- Injection de dépendances (Dependency Injection). Les dépendances sont passées à la classe depuis l'extérieur (via le constructeur, les propriétés ou les méthodes), et non créées à l'intérieur.
- Inversion de contrôle (IoC). Le contrôle de la création et de la liaison des objets est transféré à un conteneur ou framework externe.
Exemple en C# avec injection de dépendances :
public interface ILogger
{
void Log(string message);
}
public class ConsoleLogger : ILogger
{
public void Log(string message) => Console.WriteLine(message);
}
public class UserService
{
private readonly ILogger _logger;
public UserService(ILogger logger)
{
_logger = logger; // dépendance passée depuis l'extérieur
}
public void CreateUser(string name)
{
// logique de création d'utilisateur
_logger.Log($"Utilisateur {name} créé.");
}
}
Cette approche facilite les tests, l'extensibilité et la maintenance du code.