Développement avec le framework .NET

Optimisation des applications .NET en langage C#

Objectifs de la formation

  • Maîtriser l’architecture des applications .Net
  • Diagnostiquer les allocations mémoire et éviter les fuites mémoire
  • Optimiser le code C# en référence aux dernières versions C# 7, 8 et 9
  • Maîtriser les opérations sur les tableaux et les collections
  • Optimiser et mesurer les gains de performances via le parallélisme
  • Coder en C# pour résoudre des problématiques réelles


Programme de la formation

Introduction

  • Évolution de la plateforme .Net et de son écosystème.
  • Optimiser : quoi, comment, quand ? Objectifs.

Travaux pratiques

Analyse de l’exécution d’une application .Net via l’outils WinDebug.

Le ramasse-miettes GC, optimisation des allocations et diagnostic

  • La gestion de la mémoire par le ramasse-miettes et API GC.
  • Outils de diagnostic de Visual Studio, de JetBrains et BenchmarkDotNet.
  • Le Pattern Dispose et l’implémentation de IDisposable.
  • Recommandations pour éviter les fuites mémoires potentielles d’une application .Net.
  • Garde-fous au design time via les Règles d’Analyse de code.
  • Outils de l’écosystème .Net pour tracer les erreurs de boxing, de closure et références nulles.

Travaux pratiques

Détection et correction des fuites de mémoire. Règles d’analyse et outils de diagnostic.

Méthodes C# et constructions du langage

  • Méthodes C# et l’évolution du codage.
  • Méthodes d’extension et architecture LINQ.
  • Méthodes asynchrones et utilisation des mots clés async/await.
  • Mesures de performance des allocations des types Value comparés aux types Reference.
  • Nouveau type valeur ValueTuple de C# 7.0.
  • Passage de paramètres et retour par référence de C# 7.2.
  • Avantages de la programmation fonctionnelle en C# et comparaison au langage fonctionnel F#.
  • Pattern Matching en C#.

Travaux pratiques

Exercices et démonstrations concrètes sur les éléments de codage et la programmation fonctionnelle.

Tableaux et collections

  • Performance des opérations sur les données.
  • Collections du .Net et caractéristiques.
  • Implémentation de l’interface IEquatable.
  • Pointeur IntPtr et le mot clé C# 7.2 stackalloc pour allouer sur la pile.

Travaux pratiques

Exercices et démonstrations sur les collections et allocations sur la pile.

La librairie TPL du .Net 4.7 : asynchronisme et parallélisme

  • Évolution de la gestion des appels asynchrones via les mots clés async/await.
  • Les nouvelles classes de System.Threading.Tasks.
  • Paralléliser les itérations for et foreach. Design pattern en matière de parallélisme.
  • Utilisation de l’infrastructure PLinq.
  • Diagnostic de performance via le NuGet BenchmarkDotNet et DotTrace de JetBrains.

Travaux pratiques

Exercices et démonstrations sur le parallélisme. Diagnostics via BenchmarkDotNet.

Conclusion

  • Incidence des fonctionnalités C# 8 et C# 9 sur le code et les applications .Net.
  • Une synthèse et quelques conseils.
  • Recommandations d’ouvrages et références internet.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
(Next Lesson) Passer de .Net Framework à .Net Core et aux dernières versions de C# – Bonnes pratiques de performance
Back to Développement avec le framework .NET
Public

Développeurs, ingénieurs, architectes, chefs de projet.

Pré-requis

Bonnes connaissances du langage C#. Expérience requise.

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.