Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Ce contenu est un extrait du livre électronique 'Architecture des microservices .NET pour les applications .NET conteneurisées', disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement, lisible hors ligne.
Utiliser les principes SOLID et l’injection de dépendances
Les principes SOLID sont des techniques critiques à utiliser dans toute application moderne et stratégique, comme le développement d’un microservice avec des modèles DDD. SOLID est un acronyme qui regroupe cinq principes fondamentaux :
Principe de responsabilité unique
Principe ouvert/fermé
Principe de substitution de Liskov
Principe de séparation des interfaces
Principe d’inversion de dépendance
SOLID est plus sur la façon dont vous concevez vos couches internes d’application ou de microservice et sur le découplage des dépendances entre elles. Elle n’est pas liée au domaine, mais à la conception technique de l’application. Le principe final, le principe d’inversion de dépendance, vous permet de dissocier la couche d’infrastructure du reste des couches, ce qui permet une meilleure implémentation découplée des couches DDD.
L’inversion de dépendances est une façon d’implémenter le principe éponyme. Il s’agit d’une technique permettant d’atteindre un couplage libre entre les objets et leurs dépendances. Au lieu d’instancier directement des collaborateurs ou d’utiliser des références statiques (autrement dit, à l’aide de nouveaux...), les objets dont une classe a besoin pour effectuer ses actions sont fournis à (ou « injectés dans ») la classe. Le plus souvent, les classes déclarent leurs dépendances via leur constructeur, ce qui leur permet de suivre le principe des dépendances explicites. L’injection de dépendances se base généralement sur des conteneurs d’inversion de contrôle (IoC) spécifiques. ASP.NET Core fournit un conteneur IoC intégré simple, mais vous pouvez également utiliser votre conteneur IoC favori, comme Autofac ou Ninject.
En suivant les principes SOLID, vos classes tendent naturellement à être petites, bien structurées et facilement testables. Mais comment savoir si trop de dépendances sont injectées dans vos classes ? Si vous utilisez di via le constructeur, il sera facile de détecter cela en examinant simplement le nombre de paramètres de votre constructeur. S’il y a trop de dépendances, il s’agit généralement d’un signe ( odeur de code) que votre classe essaie de faire trop, et est probablement en violation du principe de responsabilité unique.
Il faudrait un autre guide pour couvrir SOLID en détail. Par conséquent, ce guide vous oblige à avoir uniquement une connaissance minimale de ces rubriques.
Ressources supplémentaires
SOLID : Principes fondamentaux de l’OOP
https://deviq.com/solid/Conteneurs d’inversion de contrôle et modèle d’injection de dépendances
https://martinfowler.com/articles/injection.htmlSteve Smith. New is Glue
https://ardalis.com/new-is-glue