Visual Studio .Net - Les fondamentaux du développement .NET avec le langage C# 7 sous Visual Studio 2017

Référence : 19003-171004-4-VIS

Infos pratiques

  • Durée : 5 jours soit 35 heures
  • Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur
  • Public concerné : Toute personne souhaitant se perfectionner dans le domaine concerné.

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Utiliser les outils de Visual Studio 2017 pour créer des projets de développement ;
  • Ecrire des programmes en langage C# 7 ;
  • Mettre en œuvre les concepts de la programmation orientée objet avec le langage C# 7 ;
  • 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 " - La conception orientée objet " ou posséder les connaissances et compétences équivalentes

Objectifs opérationnels et contenu de la formation

Introduction à la plateforme de développement .NET

  • Présentation du Framework .NET
    • 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 2017
    • 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 littéraux numériques (nouveauté C# 7.0)
  • Les opérateurs
  • L'opérateur nameof
  • Les structures conditionnelles et itératives
  • Les procédures et les fonctions
  • Les fonctions locales (nouveauté C# 7.0)
  • Les fonctions avec valeur de retour multiple (nouveauté C# 7.0)
  • Les valeurs de retour de type référence (nouveauté C# 7.0)
  • Les membres sous forme d'expressions
  • Paramètres nommés et optionnels
  • Le type String
  • L'interpolation de chaine de caractères
  • Travaux pratiques : Calcule 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 initialiseurs de propriétés automatiques
  • Les constructeurs et le destructeur
  • Les méthodes sous forme d'expression (nouveauté C# 7.0)
  • Les déconstructeurs (nouveauté C# 7.0)
  • Création et suppression d'objet
  • Le garbage collector
  • Les membres et les imports statiques
  • Les méthodes d'extension
  • Les espaces de nom
  • Le concepteur de classes de Visual Studio

Héritage et polymorphisme

  • L'héritage
  • Le polymorphisme
  • Classes et méthodes abstraites
  • Les interfaces
  • Classes et méthodes scellées
  • Le pattern matching (nouveauté C# 7.0)
  • 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 initialiseurs de dictionnaires (nouveauté C# 7.0)
  • 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
  • L'expression throw (nouveauté C# 7.0)
  • 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 surcharge d'opérateurs
  • La gestion de la mémoire
  • La réflexion
  • Le typage dynamique
  • 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 2017

  • 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 2017

  • 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)
  • Généralisation du type de retour (nouveauté C# 7.0)
  • La synchronisation d'accès concurrent aux données
  • Travaux pratiques : Intégrer dans la banque des traitements de recherche de Compte en asynchrone.

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • Stage en mode "In Class": 2 téléviseurs et 1 caméra HD par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB