
Formation C # C# avancé en .Net Core
Domaine : Développement et méthodes
DURÉE
3 jour(s)
OBJECTIFS
Découvrir les nouveautés C# 7 et C# 8. Optimiser le code sur un plan performance mémoire et CPU. Maîtriser l'IoC en ASP.Net Core.
Pré-requis
Maîtriser la programmation orientée objet avec le langage C# (version 7.x idéalement)
Participants
Développeurs informatiques en .Net / C#
coût
Nous contacter pour une formation sur mesure ou en intra
LIEUx de formation
Notre centre de formation à Sophia AntipolisOu sur votre site en formation intra
PROGRAMME DE FORMATION
C # C# avancé en .Net Core
Les tests unitaires en C#
Introduction aux tests unitaires
Différents concepts de test
Présentation des outils .Net pour les tests
Simulation avec les Mock
Le BDD (Behavior Driven Development) pour faire rentrer les opérationnels dans les tests
Travaux pratiques (Ecrire un test unitaire en C# et le faire muter en BDD)
Différents concepts de test
Présentation des outils .Net pour les tests
Simulation avec les Mock
Le BDD (Behavior Driven Development) pour faire rentrer les opérationnels dans les tests
Travaux pratiques (Ecrire un test unitaire en C# et le faire muter en BDD)
C# 7.x : Nouveautés et fonctionnalités avancées
Rappels de l'existant pré-C# 7
Fonctions locales (Avantages et performances)
Tuples
Déconstructeurs
Pattern matching
Out & discard
Améliorations sur l'écriture des numériques
Expression fléchée
Expression throw
Retour de fonction par référence
Travaux pratiques (Plusieurs exercices pour mettre en pratique les nouveautés de C# 7)
Fonctions locales (Avantages et performances)
Tuples
Déconstructeurs
Pattern matching
Out & discard
Améliorations sur l'écriture des numériques
Expression fléchée
Expression throw
Retour de fonction par référence
Travaux pratiques (Plusieurs exercices pour mettre en pratique les nouveautés de C# 7)
C# 8 : Nouveautés et fonctionnalités avancées
Références sur les types valeurs
Type référence nullable
La portée private protected
Code non sécurisé
Indices et plages
Implémentation par défaut des interfaces
Travaux pratiques (Plusieurs exercices pour mettre en pratique les nouveautés de C# 8)
Type référence nullable
La portée private protected
Code non sécurisé
Indices et plages
Implémentation par défaut des interfaces
Travaux pratiques (Plusieurs exercices pour mettre en pratique les nouveautés de C# 8)
Notions avancées sur les types
Generics et contraintes de generics
Réflection simple (Création et introspection des types)
Réflection avancée (Gestion des generics (méthodes, types))
Types anonymes et dynamic
Durée de vie avec Idiposable et les destructeurs
Attributs
Travaux pratiques (Créer dynamiquement des objets au runtime pour les types de questions)
Réflection simple (Création et introspection des types)
Réflection avancée (Gestion des generics (méthodes, types))
Types anonymes et dynamic
Durée de vie avec Idiposable et les destructeurs
Attributs
Travaux pratiques (Créer dynamiquement des objets au runtime pour les types de questions)
La mémoire en C#
Introduction
Comprendre les concepts de pile & tas
Différences entre types valeur & types référence (Impacts et analyses)
La classe Span
Stackalloc
Travaux pratiques (Plusieurs exercices pour comprendre les allocations mémoire et l'impact du code)
Comprendre les concepts de pile & tas
Différences entre types valeur & types référence (Impacts et analyses)
La classe Span
Stackalloc
Travaux pratiques (Plusieurs exercices pour comprendre les allocations mémoire et l'impact du code)
Asynchronisme
Reprise des concepts de l'asynchronisme
La classe Thread
La classe Parallel
Définition et approfondissement sur le Task
Le scheduler et créer son propre scheduler
Async/await : détails et fonctionnement de ce qui est compilé réellement
Gestion de l'annulation, des exceptions et de la continuation
Les nouveautés C# 8 sur l'asynchronisme
Travaux pratiques (Exercice de code pour montrer les différents pattern asynchronisme., Exercice complet permettant de mettre en pratique tout le contenu)
La classe Thread
La classe Parallel
Définition et approfondissement sur le Task
Le scheduler et créer son propre scheduler
Async/await : détails et fonctionnement de ce qui est compilé réellement
Gestion de l'annulation, des exceptions et de la continuation
Les nouveautés C# 8 sur l'asynchronisme
Travaux pratiques (Exercice de code pour montrer les différents pattern asynchronisme., Exercice complet permettant de mettre en pratique tout le contenu)
LINQ
Comment fonctionne LINQ ?
Les différents opérateurs existants
Comparaison de performance avec analyse IL
Créer ses propres méthodes LINQ
L'arbre d'expression
Travaux pratiques (Création de son propre provider LINQ, Découverte de la classe Expression)
Les différents opérateurs existants
Comparaison de performance avec analyse IL
Créer ses propres méthodes LINQ
L'arbre d'expression
Travaux pratiques (Création de son propre provider LINQ, Découverte de la classe Expression)
Le garbage collector
Rappel sur le rôle du garbage collector
Algorithme du garbage collector
Différences entre les ressources managées et non managées
Comment soulager la charge du garbage collector
Le pattern Idisposable
Travaux pratiques (Créer une application et benchmarker les différences entre le passage du garbage collector)
Algorithme du garbage collector
Différences entre les ressources managées et non managées
Comment soulager la charge du garbage collector
Le pattern Idisposable
Travaux pratiques (Créer une application et benchmarker les différences entre le passage du garbage collector)
Patterns utilisés en .Net Core
Présentation rapide de l'architecture d'un projet ASP.Net Core
IoC et principes solides associés (Pourquoi, c'est utile)
Pattern Options pour gérer la configuration
Fonctionnement du pipeline ASP.Net Core
IoC et principes solides associés (Pourquoi, c'est utile)
Pattern Options pour gérer la configuration
Fonctionnement du pipeline ASP.Net Core
dates des formations a grenoble
dates des formations a SOPHIA ANTIPOLIS
formations associées
- C # Windows Store, développer avec C# et Visual Studio
- C # 1A C# Développer avec le langage .Net - Programmation C#
- .NET 1A .NET - Programmation C# concepts avancés
- .NET 1A .NET Accès aux données
- .NET 2A .NET - Conception d interfaces graphiques mobiles Xamarin
- .NET 2A .NET - Conception d'interfaces graphiques Web (Back End)
- .NET 2A .NET - Conception d interfaces graphiques Windows (WPF)
- .NET 4A .NET - Préparation de la certification Microsoft 70-483 Programming in C#
- ASP.NET Développer des applications Web ASP.NET MVC 4
- ASP.NET Développement d'applications web avec ASP.NET MVC5
- ASP.NET Développement d'applications Web ASP.NET Core
- ASP.NET Blazor
- MICROSOFT ADO.NET Programmation avec Microsoft ADO.NET