Formation C#, développer en .NET avec Visual Studio

Contexte

Dans cette formation, vous apprendrez à développer avec le framework .NET et .Net Core en langage C# et Visual Studio.

Nous vous guiderons à travers les concepts de programmation orientée objet et vous expliquerons comment utiliser les classes de Microsoft.

Vous apprendrez également à utiliser des outils comme ADO.NET et LINQ pour accéder aux données ainsi que les services Web ASP.NET.

Objectifs

A l’issue de la formation le stagiaire sera capable de :

  • Découvrir les principales technologies du framework .NET
  • Maîtriser la syntaxe du langage C#
  • Mettre en œuvre la Programmation Orientée Objet avec C#
  • Utiliser l’environnement de développement intégré Visual Studio

Public

Développeurs désirant acquérir les techniques pour développer tous types d’applications .NET avec Visual Studio.

Prérequis

Bonnes connaissances en programmation. Expérience requise en développement logiciel.

Connaissances de base des concepts Objet. Expérience requise en développement logiciel avec un langage de type C/C++ ou Java.

Programme de la formation

La plateforme .NET
  • Principe et architecture de la plateforme .NET.
  • Architecture du framework .NET : CLR, BCL, et CLS (support multilangage).
  • Aperçu des différents types d’applications dans un environnement multicible.
  • Structure d’une application .NET : notion d’espace de noms.
  • Outils et environnement de développement.
  • Langage de CIL : principe du langage intermédiaire, principe de la compilation JIT (Just In Time Compiler).
  • Notion d’assembly, de métadonnées et de déploiement.
  • Assembly privé et assembly partagé : signature, rôle du GAC (Global Assembly Cache), mise en place dans le GAC.
  • Évolution .NET Core, l’Open Source et le multiplateforme.

Travaux pratiques : exemple de programme C# minimum. Exécution en mode géré. Utilisation de l’environnement de développement Visual Studio.NET pour l’écriture du premier programme.

Syntaxe de base : données, expressions et instructions
  • Variables et expressions : déclaration, constantes, opérateurs, types anonymes et dynamiques.
  • Types de données : Common Type System, rôle de la classe de base System.Object et transtypage.
  • Quelles différences entre les types valeur et types référence ?
  • Syntaxe de base : manipulation des tableaux, instructions de contrôle de flux…
  • Nouveautés de C# 6 (nul-conditionnel, amélioration des propriétés automatiques, fonctions « Expression Bodied »…).
  • Nouveautés de C# 7 (lisibilité des constantes, variables « out », tuples, pattern matching, retour de référence…).

Travaux pratiques : Ecriture de programmes en C# mettant en œuvre des algorithmes classiques.

Gestion des exceptions
  • Comment la philosophie des exceptions doit changer votre façon de programmer.
  • Déclenchement d’erreurs personnalisées avec « throw ».
  • Utilisation des exceptions pour le traitement centralisé des erreurs.

Travaux pratiques : gestion des erreurs de saisie en utilisant les exceptions.

Programmation Orientée Objet
  • Classes et objets.
  • Modélisation du monde réel par objet.
  • Notions de champ, méthode et propriété.
  • Héritage.
  • Polymorphisme.
  • Interfaces pour l’héritage multiple.
Classes et objets en C#
  • Définition des classes. Définition des objets.
  • Définition du contenu de la classe : méthodes et propriétés.
  • Visibilité des membres d’une classe : propriétés et méthodes. Utilisation des espaces de noms.
  • Cycle de vie des objets : constructeur, destructeur. Gestion de la mémoire avec le Garbage Collector.
  • Le mécanisme de surcharge (constructeurs, méthodes et opérateurs).
  • Dérivation et héritage des classes : principe de dérivation, contrôle d’accès lors de la dérivation.
  • Principe du polymorphisme.
  • Principe des interfaces (définition et implémentation, utilisation pour l’héritage multiple).
  • Manipulation des attributs : principe des méta-données. Attributs de classe, de méthode, de champ.
  • Régions de code et classes partielles. Classes génériques.
  • Délégués, covariance, contravariance et événements. Les variances appliquées aux interfaces.
  • Classes métiers semblables à celles du framework .NET : réalisation de propriétés, d’indexeurs et d’énumérateurs.
  • Génération de documentation.

Travaux pratiques : Écriture de classes de base. Manipulation de méthodes et propriétés dans les classes. Dérivation de classe. Exemple d’implémentation d’une interface et de mise en œuvre du polymorphisme par héritage ou avec une interface.

 Objet et classes de base du framework .NET
  • Qu’est-ce qu’un framework ? Principe. Hiérarchie des classes.
  • Traitement des dates et des durées. Traitement des chaînes avec StringBuilder et les expressions régulières.
  • Classes incontournables : manipulation du système de fichier, Math, Random, etc.
  • Les différents types de collections, de dictionnaires et de tables de hachage.
  • Les collections génériques et les bases de Linq avec LINQ To Object sur les collections standard.

Travaux pratiques : Utilisation des expressions régulières et d’une table de hachage. Rendre une collection réalisée précédemment compatible avec LINQ et utiliser LINQ To Objects pour l’interroger.

Les différents types d’applications développées en .NET
  • Principe et conception d’une bibliothèque de classes réutilisables.
  • Principe et exemple des applications WPF.
  • Principe et exemple des applications Web Asp.Net MVC.
  • Principe et exemple des services Web ASP.NET.
  • Introduction aux accès aux données avec ADO.NET ou Entity Framework et LINQ.

Travaux pratiques : réalisation d’un formulaire Windows interrogeant une base de données. Démonstration de Asp.Net MVC avec un contrôleur et une page Razor, avec affichage de données. Démonstration d’un service Web simple.

Durée

5 jours

Dates et délais

Sur demande

Modalités

Présentiel ou distanciel

Lieu

Lieu à définir

Tarif

3240 € TTC

Intéressé(e) ? Besoin d’infos ?

Contactez-nous 📩

    Prénom*
    Nom*
    Adresse E-mail*
    N° de téléphone
    Vous êtes*

    Objet de votre message*
    Votre message*