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.
Les nouveautés du GAC 4.0.
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 (C# 3.0) et dynamiques (C# 4.0).
Types de données : Common Type System, rôle de la classe de base System.Object et transtypage.
Types valeur et types référence.
Instructions de contrôle de flux : boucles et tests.
Syntaxe de base : manipulation des tableaux, instructions de contrôle de flux...
Travaux pratiques :
Écriture de programmes en C# mettant en oeuvre des algorithmes classiques.
Gestion des exceptions
Principe de la gestion des exceptions.
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.
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).
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 (C# 4.0).
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.
Les nouveautés de C# 3.0 à 5.0.
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 oeuvre 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 Web ASP.NET.
Principe et exemple des services Web ASP.NET.
Introduction aux accès aux données avec ADO.NET et LINQ.
Qu'est-ce que LINQ ? Exemple avec Linq To Objects, Entity Framework et LINQ to SQL.
Principes, avantages et inconvénients des frameworks Winform et WPF.
Travaux pratiques :
Réalisation d'un formulaire Windows interrogeant une base de données. Démonstration d'une page ASPX simple, avec affichage de données. Démonstration d'un service Web simple.