C# avancé

Description de la formation

Cette formation s'adresse aux développeurs ayant déjà une expérience avec C# souhaitant approfondir l'utilisation de ce langage à travers des cas concrets de programmation d'applications modernes.

La réalité du développement de logiciels complexes en entreprise nous amène à faire face à des problématiques et des défis de taille, qui sont abordés au cours de cette formation : la réflexion, la programmation générique et le requêtage LINQ, les traitements parallèles (sur du matériel multi-cœur) et l'asynchronisme.

Objectifs pédagogiques

À la fin de cette formation, vous serez en mesure de :

  • Utiliser la réflexion pour inspecter et générer dynamiquement du code à l’exécution du programme;
  • Coder avec les génériques pour développer des fonctionnalités et des composantes évolutives et modulables;
  • Expérimenter le requêtage d'objets avec LINQ, exemple complet dans une application qui se connecte à une base de données avec Entity Framework;
  • Programmer avec les instructions parallèles et asynchrones pour maximiser la performance du logiciel sur les systèmes multicœurs.

Méthodologie

Plusieurs méthodes d’apprentissage permettant de mesurer votre progrès et votre intégration des concepts sont utilisés tout au long de la formation :

  • Exposé
  • Démonstration
  • Travail individuel
  • Exercice informatique

Clientèle visée

Professionnels et techniciens spécialisés en TI.

Particularité

Pour participer à cette formation, vous devez au préalable avoir des connaissances de base avec Visual Studio, .NET et C#.

À savoir lorsque cette formation est en ligne

Nos formations en ligne sont diffusées sous forme de classes virtuelles interactives et nous travaillons avec la plateforme Zoom.

Vous devez avoir un ordinateur avec un bon accès à Internet ainsi qu'une caméra, un micro et des haut-parleurs afin de participer à la formation. Pour faciliter les échanges avec le formateur ou la formatrice et les autres participants et participantes, ainsi que pour être en mesure de participer au volet pratique de la formation, la caméra doit être fonctionnelle et ouverte tout au long de la formation, à défaut de quoi votre participation pourrait être refusée.

Il est fortement recommandé d'avoir deux écrans sur le même ordinateur : un pour suivre la formation et l'autre pour les exercices pratiques.

Vous devez installer sur votre ordinateur : VS2019 Pro ou plus récent

    Top 15 des nouveautés de C#

    Expressions Lambdas

    Utilisation de la Réflexion en .NET

    • La réflexion et son application;
    • Inspecter et manipuler du code à l'exécution;
    • Fournir des metadatas additionnels avec des attributs;
    • Concevoir une architecture à plug-in;
    • Protéger son code avec l’obfuscation;
    • Les bons outils à connaître.

    Les génériques

    • Avantages des génériques en C#;
    • Les collections et interfaces génériques;
    • Créér des classes et méthodes évolutives et modulables;
    • Les types nullables.

    Requêtage avec LINQ

    • La syntaxe LINQ;
    • Exploration des opérateurs (Where, Distinct, OrderBy, Count, Any, OfType, ...) avec exemples concrets;
    • Entity Framework et base de données.

    Les méthodes d’extension

    Optimisation de performance et exploitation des CPU multicœur

    Programmation multithread, parallèle et asynchrone

    • Threading versus Parallélisme;
    • Parallel Linq (PLINQ) et Task Parallel Library (TPL);
    • Programmer avec les Tasks pour optimiser les performances;
    • L'asynchronisme simplifié à l'extrême davec async et await;
    • Utiliser un BackgroundWorker dans les projets avec interface utilisateur.
Laurent Duveau

Laurent Duveau

Formateur en technologies Web et .NET

Fort de plus de 24 ans d'expérience, Laurent a accompagné avec succès de très nombreuses entreprises, petites et grandes, dans leur stratégie de développement logicielle, avec dernièrement un focus sur TypeScript/Angular. Entrepreneur dédié aux technologies web, il a développé son expertise dans le développement d'affaires, la gestion d'équipe, l’accompagnement et la réalisation de projets en développement logiciel des start-up jusqu'aux multinationales, principalement au Canada et en Europe.