Passer commande via notre portail client

Partager cet article ...Print this pageEmail this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInPin on PinterestShare on TumblrDigg this
C# 8.0/Framework.net – Développement avancé
CS-AV / LI-DEV-515

OBJECTIFS PEDAGOGIQUES

A la fin du cours, le stagiaire sera capable de :
- Maîtriser le multi-threading
- Gérer l’asynchronisme
- Utiliser les méta-données avec les Attributes
- Etre initié à la programmation dynamique et parallèle
- Interagir avec du code non managé
- Créer des domaines d’application.

PUBLIC

PRE–REQUIS

Développeurs, architectes, chefs de projets techniques. Indispensables :
- Connaissance pratique du langage C# ou avoir suivi le cours « C# – Développement avec le Framework .NET ».

CONTENU

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
  • Body expression
  • 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érence 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

Concurrence et threading

  • Cas d’utilisation du multi-threading
  • Thread et Task
  • Synchronisation et communication
  • ThreadPool et efficacité
  • Deadlocks et autres écueils à éviter

Asynchronisme

  • Différence entre appels synchrones et asynchrones
  • Async opérations
  • C# async et await
  • Progression et abandon

Réflection et Attributes

  • Introspection des assemblies et classes
  • Les types d’Attributes
  • Paramètres des Attributes
  • Génération de code : Emitters

LINQ

  • Architecture interne de LINQ
  • Fonctionnalités avancées de LINQ
  • Créer son propre provider « IQueryable »
  • Performances sur l’utilisation de LINQ

Interopérabilité

  • P/Invoke
  • COM Interop
  • COM Wrappers
  • Passage de paramètres

Fonctionnement avancé du Runtime

  • Dynamic Language Runtime (DLR)
  • Task Parallel Library (TPL)
  • Sécurité d’accès : Code Access Security (CAS)
  • Application domains

Garbage Collector

  • Algorithme de nettoyage du Garbage Collector
  • Ressources managées vs non managées
  • Bien libérer les ressources
  • Pattern IDisposable

Tests unitaires

  • 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 framework de  »Mock »
  • Fluent Assertions

Certification (en option)

    • Nos tests de validation des compétences font partie intégrante du processus d’apprentissage car ils permettent de développer différents niveaux d’abstractions
    • Solliciter l’apprenant à l’aide de nos QCM, c’est lui permettre d’étayer sa réflexion en mobilisant sa mémoire pour choisir la bonne réponse. Nous sommes bien dans une technique d’ancrage mémoriel
    • L’examen sera passé à la fin de la formation

 

SESSIONS PROGRAMMEES

C# – Développement avancé

VALIDATION

Exercices de validation au cours de la formation

PEDAGOGIE

Exposés – Cas pratiques – Synthèse

INTERVENANTS

Consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par M2i Formation.

MODALITES PRATIQUES

Durée : 3 jours (21 heures) avec 7 heures par jour
Prix stagiaire : 1 238,00 € TTC
Horaires : 09h00 / 17h30

Durée: