Présentation
La gestion des services dans une application .NET est cruciale, et pour les gérer de la meilleure façon qui soit, l'injection de dépendances est un concept fondamental.
Dans ce cours, nous partirons des fondamentaux de la gestion des services, notamment :
- Pourquoi travailler avec des implémentations instanciées à la main n'est pas une bonne idée
- Ce qui se passe quand on intègre une abstraction et qu'on souhaite gérer les services par soi-même
- La création d'un petit conteneur d'injection de dépendances pour comprendre le concept
Ensuite, nous verrons les fondamentaux de l'implémentation fournie par Microsoft :
- Installation et configuration du package sur une application console
- Le setup des dépendances & les durées de vie des services
- Le cas particulier des applications web avec la durée de vie Scoped
- La résolution des arbres de dépendances
Cela nous permettra de couvrir des concepts plus avancés :
- Quelle durée de vie choisir pour ses services ?
- Les techniques d'enregistrements avancées (enregistrement multiple, par clé, nettoyage d'enregistrement, enregistrement partiel)
- L'enregistrement manuel
A la fin de ce cours, l'enregistrement de dépendances n'aura plus aucun secret pour vous et vous saurez en tirer le maximum pour la gestion de vos services dans vos applications .NET
Contenu du cours
18 leçons · 4 sections
Contenu du cours
18 leçons · 4 sections
Introduction 3 leçons · 5min
- Bienvenue0:21
- Qui suis-je ?1:22
- Introduction & prérequis4:15
Fondamentaux 3 leçons · 28min
- Le problème de travailler avec des implémentations9:20
- L'avantage de travailler avec des abstractions10:23
- Implémentation naïve d'un conteneur d'injection de dépendances8:20
- 1 auto-évaluation
Fondamentaux du package Microsoft.Extensions.DependencyInjection 4 leçons · 43min
- Présentation du ServiceCollection10:30
- La résolution des services en cascade9:00
- Les différentes durée de vie pour un service10:57
- Le cas particulier de Scoped dans une application web13:16
- Récapitulatif de Scoped selon les applications
- 3 auto-évaluations
Concepts avancés 8 leçons · 1h29min
- Ajout manuel d'un service avec ServiceDescriptor10:22
- Gérer l'enregistrement multiple pour une même abstraction7:30
- La gestion "safe" des ajouts multiples6:58
- L'implémentation de services disposable8:03
- La résolution manuelle : un cas d'usage concret19:47
- Créer un système d'enregistrement automatique12:33
- Mise en place du design pattern "Decorator"13:22
- Utiliser un package communautaire pour les exemples précédents11:16

