Evolution MM

Formations à l'informatique
Découvrez la différence ENI

Lien accueil

ENI Service est partenaire du DevFest Nantes 2019.

Rendez-vous les 21 et 22 octobre prochains pour un festival très rock !

Rechercher
Rechercher une formation
 

Les fondamentaux du développement .NET avec le langage C# 8 sous Visual Studio 2019 (action collective FAFIEC "Développer avec les langages .NET, Java et C++" réf. 28049)

Formation éligible au CPF

Dans cette formation, vous apprendrez la syntaxe du langage C# ainsi que la mise en œuvre de tous les concepts de la programmation orientée objet. Vous apprendrez également à utiliser les principales classes du Framework .NET Core et à utiliser l'environnement de développement Visual Studio 2019 pour la conception et la mise au point de vos applications.

Public :

  • Développeurs, analystes programmeurs, chefs de projets.

Objectifs :

  • Utiliser les outils de Visual Studio 2019 pour créer des projets de développement ;
  • Ecrire des programmes en langage C# 8 ;
  • Mettre en œuvre les concepts de la programmation orientée objet avec le langage C# 8 ;
  • Utiliser les principales bibliothèques de classes du Framework .NET ;
  • Manipuler les collections d'objets du Framework .NET ;
  • Gérer les erreurs et de surveiller le fonctionnement des applications ;
  • Utiliser LINQ to Objects pour requêter sur des grappes d'objets ;
  • Déboguer le code C# et réaliser des tests unitaires sur vos classes ;
  • Optimiser l'exécution des programmes en paralléliser l'exécution des traitements.

Pré-requis :

  • Avoir une expérience de programmation, quel que soit le langage d'origine ;
  • Avoir développé et livré une application en autonomie ou en équipe ;
  • Idéalement, avoir suivi la formation " TACFDEV1 - Introduction à la conception orientée objet et à la modélisation UML ", ou posséder les connaissances et compétences équivalentes.

Contenu pédagogique

Introduction à la plateforme de développement .NET Core

  • Présentation du Framework .NET Core
    • Les différents frameworks (.net, .net core, .net standard)
    • La bibliothèque de classes
    • La CLR et l'exécution du code managé
    • Compilation et notions d'espace de nom et d'assemblage
  • Présentation de Visual Studio 2019
    • Les différents types de projets
    • Les principales fenêtres : l'explorateur de solutions, l'affichage de classes, propriétés
    • Le contrôle de code source
  • Savoir utiliser MSDN pour la documentation des bibliothèques de classes du Framework .NET

Les éléments de base du langage C#

  • Les commentaires
  • Les types de données
  • Les variables et les constantes
  • Les opérateurs
  • L'opérateur nameof
  • Les structures conditionnelles et itératives
  • Les patterns matching
  • L'expression switch (nouveauté C# 8)
  • Les procédures et les fonctions
  • Les fonctions avec valeur de retour multiple
  • Les fonctions locales static (nouveauté C# 8)
  • Les membres sous forme d'expressions
  • Paramètres nommés et optionnels
  • Le type String
  • L'interpolation de chaine de caractères
  • Les tableaux
  • Les index et les plages (nouveauté C# 8)
  • Travaux pratiques : Calcul du jour de Noël en fonction d'une année.

Programmation orientée objet en C#

  • Les classes
  • Les attributs, les propriétés
  • Les membres ReadOnly (nouveauté C# 8)
  • Les modèles de propriétés (nouveauté C# 8)
  • Les modèles positionnels (nouveauté C# 8)
  • Les constructeurs et le destructeur
  • Les déconstructeurs
  • Création et suppression d'objet
  • Le garbage collector
  • Les ressources non managées
  • L'instruction using (nouveauté C# 8)
  • Les membres et les imports statiques
  • Le type de référence nullable (nouveauté C# 8)
  • Les méthodes d'extension
  • Les espaces de nom

Héritage et polymorphisme

  • L'héritage
  • Le polymorphisme
  • Classes et méthodes abstraites
  • Les interfaces
  • Les membres d'interface par défaut (nouveauté C# 8)
  • Classes et méthodes scellées
  • Travaux pratiques : Réalisation progressive d'une application de gestion de compte bancaire avec conception des classes : Compte, CompteEpargne, Client, Banque.

Générique et collections

  • La création et la manipulation de génériques
  • Les Listes
  • Les interfaces "IComparable" et "IComparer"
  • Les Dictionnary
  • Les autres collections (Stack, Queue, …)
  • Travaux pratiques : Intégration de la classe List dans la classe Compte et de la classe Dictionary dans la classe Banque.

Gestion des erreurs et surveillance des applications

  • La levée et le traitement d'exceptions
  • Les filtres d'exceptions
  • La finalisation de traitement
  • Le traçage d'applications
  • La gestion de " Log "
  • Travaux pratiques : Mise en œuvre de la gestion des erreurs dans la classe Compte et la classe Banque.

Les aspects avancés du langage

  • Les délégués et les méthodes anonymes
  • Les expressions lambdas
  • La gestion de la mémoire
  • La réflexion
  • Travaux pratiques : Mettre en place la gestion d'évènement dans la classe Compte lors d'un débit impossible.

LINQ to Objects

  • Présentation
  • La création et l'exécution de requêtes LINQ
  • L'inférence de type
  • Les types anonymes et la classe Tuple
  • Les opérateurs de requêtes LINQ
  • Travaux pratiques : Compléter la classe Banque avec des méthodes de recherche de compte basées sur la mise en œuvre de LINQ.

Prise en main du débogage dans Visual Studio 2019

  • Les propriétés du projet et les paramètres du gestionnaire de configurations
  • Les configurations de " build " Debug et Release
  • Génération du code : examen de la liste des erreurs et correction
  • Analyse statique du code : correction ou refactorisation du code
  • Débogage du code en cours d'exécution : définir les points d'arrêt simples ou conditionnels et inspecter le code en cours d'exécution (inspecteur des variables, espions, pile d'appel…)
  • Travaux pratiques : Débogage de l'application Banque en utilisant des points d'arrêts, l'exécution en mode pas à pas et en inspectant les variables du programme.

Réalisation de tests unitaires dans Visual Studio 2019

  • Intérêts et objectifs des tests unitaires
  • Générer un projet de tests unitaires et des méthodes de test à partir du code de l'application
  • Créer le projet de test unitaire et les tests unitaires manuellement
  • Implémentation des méthodes de test : le modèle AAA (Arrange, Act, Assert)
  • Exécuter les tests unitaires dans l'explorateur de tests et analyse des résultats
  • Travaux pratiques : Mettre en place différents tests unitaires au sein de votre application Banque.

Amélioration de la performance des applications

  • La mise en œuvre du multitâche
  • La création et lancement de tâches
  • La réalisation d'opérations asynchrones (await, async)
  • La consommation de flux asynchrone (nouveauté C# 8)
  • La synchronisation d'accès concurrent aux données
  • Travaux pratiques : Intégrer dans la banque des traitements de recherche de Compte en asynchrone.


Modalité et moyens pédagogiques, techniques et d'encadrement

  • Formation avec un formateur, dans une salle dédiée à la formation, équipée d'un vidéoprojecteur, d'un tableau blanc et d'une solution de visio-conférence dans le cas des formations suivies en in-classTM (présentiel à distance). Le nombre de stagiaires peut varier de 1 à 12 personnes (5 à 6 personnes en moyenne), ce qui facilite le suivi permanent et la proximité avec chaque stagiaire.
  • Chaque stagiaire dispose d'un poste de travail adapté aux besoins de la formation, d'un support de cours et/ou un manuel de référence au format numérique ou papier (pour sessions inter-entreprises, dans le cas où le support de cours officiel est en anglais, nous offrons en complément, s'il existe, un ouvrage de référence des Editions ENI au format numérique rédigé en français).
  • Pour une meilleure assimilation, le formateur alterne tout au long de la journée les exposés théoriques, les démonstrations et la mise en pratique au travers d'exercices et de cas concrets réalisés seul ou en groupe. La répartition du temps entre la théorie et la pratique est mentionnée dans le plan de cours.

Modalités d'évaluation des acquis

  • L'évaluation des acquis se fait tout au long de la formation au travers des différents travaux dirigés et travaux pratiques réalisés par le stagiaire.
  • En complément, pour les stagiaires qui le souhaitent, certaines formations peuvent être validées officiellement par un examen de certification. Pour les formations concernées, l'examen est mentionné dans la zone " Commentaire " du programme de formation. Les candidats doivent produire un travail personnel important en vue de se présenter au passage de l'examen, le seul suivi de la formation ne constituant pas un élément suffisant pour garantir un bon résultat et/ou l'obtention de la certification.

Moyens de suivi d'exécution et appréciation des résultats

  • Feuille de présence, émargée par demi-journée par chaque stagiaire et le formateur ;
  • Evaluation qualitative de fin de formation, qui est ensuite analysée par notre équipe pédagogique ;
  • Attestation de fin de formation, remise au stagiaire en main propre ou par courrier électronique.

Qualification du formateur

  • La formation est animée par un professionnel de l'informatique et de la pédagogie, dont les compétences techniques, professionnelles et pédagogiques ont été validées par des certifications et/ou testées et approuvées par les éditeurs et/ou notre équipe pédagogique. Il est en veille technologique permanente et possèdent plusieurs années d'expérience sur les produits, technologies et méthodes enseignés. Il est présent auprès des stagiaires pendant toute la durée de la formation.