Introduction à 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 MSIL : 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 VB.NET. 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 de données : Common Type System, rôle de la classe de base System. Object et transtypage.
- Types annulables.
- Quelles différences entre les types valeur et types référence ?
- Manipulation et gestion des tableaux.
- Instructions de contrôle de flux : boucles et tests.
- Opérateurs IsTrue et IsFalse.
- Nouveautés de VB 14 (2015) : nul-conditionnel, expressions nameof, String interpolation...
- Nouveautés de VB 15 (2017) : lisibilité des constantes, tuples...
Travaux pratiques
Ecriture de programmes en VB.NET mettant en œuvre des algorithmes classiques.
Gestion des exceptions
- Comment la philosophie des exceptions doit changer votre façon de programmer.
- Utilisation de l'instruction 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.
- Représentation du modèle Objet.
Classes et objets en VB.NET
- 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).
- Mettre en œuvre un événement.
- Dérivation et héritage des classes : principe de dérivation, contrôle d'accès lors de la dérivation.
- Principe des interfaces (définition et implémentation, utilisation pour l'héritage multiple).
- Principe du polymorphisme.
- 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
Ecriture 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 oeuvre du polymorphisme par héritage ou avec une interface.
Objets 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 standards.
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.
Exemples d'applications développées en .NET
- Principe et conception d'une bibliothèque de classes réutilisables.
- Principe et exemple des applications Web ASP.NET.
- Introduction aux accès aux données avec ADO.NET ou Entity Framework.
Travaux pratiques
Réalisation d'une bibliothèque de classes signées et installation dans le GAC. Réalisation d'une page ASPX simple, avec affichage de données.