Objectifs pédagogiques
- Mettre en oeuvre les concepts avancés du .NET Core 2.1 et de C# 8.0.
Niveau requis
Avoir une expérience en C# et .NET Core 2.1. Avoir suivi la formation CS-CORE (C# - Développement avec le Framework .NET Core 2.1) ou avoir les connaissances équivalentes.
Public concerné
Développeurs.
Programme
Les fonctionnalités avancées de C#
- Rappel sur les méthodes anonymes
- Rappel sur les expressions lambda
- Les fonctions locales
- Les tuples
- Les déconstructeurs
- Pattern matching
- "Variables out"
- Amélioration des littéraux numériques
- "Expression body"
- Amélioration de la syntaxe du throw
- Retour de fonction par références
Les fonctionnalités avancées de C# 7.2. et 8.0
- Sémantique de références avec les types valeur
- Types de référence nullable
- Nouveaux modificateurs d'accès
- Utilisation de code non sécurisé
Améliorer l'utilisation de la mémoire
- Introduction
- Concept de "tas" et de "pile"
- La classe "Span"
Task Parallel Library (TPL) avancé
- Rappel
- Architecture technique
- Personnaliser le Scheduler
- Pattern async / await
- Dangers de l'asynchronisme
- Gestion des erreurs dans les tâches
LINQ
- Architecture interne de LINQ
- Fonctionnalités avancées de LINQ
- Créer son propre provider IQueryable
- Performances sur l'utilisation de LINQ
Garbage Collector
- Introduction
- Algorithme de nettoyage du Garbage Collector
- Ressources managées vs non managées
- Bien libérer les ressources
- Pattern IDisposable
Patterns intégrés au .NET Core
- Introduction
- Concept d'IoC
- Options pattern
- Configuration pattern
- Conseils sur les bonnes pratiques de développement
Tests unitaires
- Introduction
- Utilisation de MSTest v2 et NUnit
- Comment bien écrire un test unitaire
- Convaincre les développeurs sur l'utilité des tests unitaires
- Extensions du moteur MSTest v2
- Les frameworks de "Mock"
- Fluent Assertions
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)