Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Mettre en oeuvre les concepts avancés du .NET Core et de C#.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Prérequis
Avoir une expérience en C# et .NET Core. Avoir suivi la formation CS-CORE "C# - Développement avec le Framework .NET Core 2.1/3.0" ou avoir les connaissances équivalentes.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic 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#
- 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
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.