L’objectif de ce workshop de formation de trois jours est de fournir à des développeurs professionnels les base du développement d’applications avec le langage C# et Visual Studio. Le matériel utilisé pour ce workshop est composé essentiellement de présentations, de démonstrations, et d’exercices dirigés (80% du temps).

Durée

3 jours.

Audience

Les participants doivent connaître la programmation d’application avec Visual Studio et avoir une expérience minimum en matière de programmation en C, C++, Visual Basic, Java ou autre langage de programmation.

A la fin du workshop

Après ce workshop, les participants seront à même de d’utiliser les structures du langage C# dans le cadre d’un développement en couche avec Visual Studio.

Langue d’intervention

La langue du workshop est le français.

Language de support

C#

Programme de formation

Module 1 : Vue d’ensemble de la plate-forme Microsoft .NET
Ce module présente les principaux éléments du .NET Framework et de décrire la place qu’occupe C# au sein de la plate-forme .NET.

  • Présentation de la plate-forme .NET
  • Vue d’ensemble du .NET Framework
  • Avantages du .NET Framework
  • Composants du .NET Framework
  • Langages du .NET Framework

 

Module 2 : Vue d’ensemble de C#
À la fin de ce module, chaque stagiaire sera à même d’analyser la structure d’une application C# et de documenter, déboguer, compiler et exécuter une application simple.

  • Structure d’un programme en C#
  • Opérations élémentaires d’entrée/sortie
  • Méthodes conseillées
  • Compilation, exécution et débogage

 

Module 3 : Utilisation des variables de type valeur
Ce module présente la création et le nommage des variables,  et comment leurs attribuer des valeurs.

  • Système de types communs (CTS, Common Type System)
  • Attribution de noms aux variables
  • Utilisation de types de données intégrés
  • Création de types de données définis par l’utilisateur
  • Conversion de types de données
  • Gestion des types Nullables

 

Module 4 : Instructions et exceptions
Ce module présente les instructions courantes permettant d’implémenter le contrôle de flux, le bouclage et la gestion des exceptions.

  • Introduction aux instructions
  • Utilisation des instructions conditionnelles
  • Utilisation des instructions d’itération
  • Utilisation des instructions de saut
  • Gestion des exceptions fondamentales
  • Levée d’exceptions

 

Module 5 : Méthodes et paramètres
Ce module se concentre sur la création des méthodes (fonctions et sous-routines) pouvant renvoyer des valeurs et prendre des paramètres.

  • Utilisation des méthodes
  • Utilisation des paramètres
  • Utilisation de méthodes surchargées
  • Méthodes Partielles

 

Module 6 : Tableaux
Ce module présente la création, l’initialisation  et l’utilisation des tableaux.

  • Vue d’ensemble des tableaux
  • Création de tableaux
  • Utilisation des tableaux

 

Module 7 : Notions fondamentales de la POO
Ce module d’explique les concepts fondamentaux et la terminologie de la programmation orientée objet.

  • Classes et objets
  • Utilisation de l’encapsulation
  • C# et l’orientation objet
  • Définition de systèmes orientés objet

 

Module 8 : Utilisation des variables de type référence
Ce module présente l’utilisation des objets et des types référence courants, la création, d’initialisation et la destruction des objets dans une application C#.

  • Utilisation des variables de type référence
  • Utilisation des types référence courants
  • Hiérarchie des objets
  • Espaces de noms du .NET Framework
  • Conversion de données
  • Utilisation de constructeurs
  • Initialisation de données
  • Initialiseurs, var (inférence de type)
  • Objets et mémoire

 

Module 9 : Héritage dans C#
Ce module présente comment créer des classes C# à partir de classes existantes.

  • Dérivation de classes
  • Implémentation de méthodes
  • Utilisation de classes scellées (Sealed)

 

Module 10 : Agrégation, espaces de noms et portée avancée
Ce module présente comment créer des classes autonomes et des architectures d’application dans une application C#.

  • Utilisation de classes, de méthodes et de données internes
  • Utilisation de l’agrégation
  • Utilisation des espaces de noms
  • Utilisation des modules et des assemblages
  • Limitation de la portée et gestion de la mémoire
  • Les classes partielles

 

Module 11 : Propriétés et indexeurs
Ce module présente comment implémenter des propriétés et des indexeurs.

  • Utilisation des propriétés
  • Utilisation des indexeurs
  • Implémentation d’indexeur ( get {…} )

 

Module 12 : Notions avancées d’héritage dans C#
Ce module présente comment le concept d’héritage avancé, notamment l’utilisation de classe abstraite.

  • Rappels, les classes, les listes
  • Utilisation d’interfaces
  • Utilisation de classes abstraites (Abstract)
  • Le modificateur new, intérêt et utilisation
  • Introduction aux opérateurs
  • Création et utilisation de délégués

 

Module 13 : Les types génériques
Ce module explique la définition et l’utilisation de types génériques 

  • Introduction, intérêt et usage
  • Ouvertures et fermetures des types
  • Paramètres de types et contraintes
  • Les classes génériques
  • Les méthodes génériques
  • Les listes et les collections génériques
  • Développement de types génériques, intérêts

 

Module 14 : Les itérateurs
Ce module présente comment définir des itérateurs sur des objets. 

  • Introduction aux itérateurs
  • Syntaxes et implémentation
  • Développement de listes
  • L’opérateur yied return
  • Importance de l’approche ensembliste dans le développement des codes
  • Impacts sur les performances du code

 

Module 15 : Notions avancées de C#
Ce module explique l’utilisation de notions avancées du langage C#.

  • Utilisation des méthodes anonymes
  • Utilisation des Predicate
  • Action<T> et Func<TResult, T>
  • Compréhension et développement
  • Méthodes anonymes, predicate, expression lambda et fonctions
  • Méthodes d’extensions

 

Module 16 : Utilisation des expressions LINQ
Ce module présente l’application et l’utilisation des expressions LINQ

  • Méthodes d’extensions fournies par System.Linq
  • Principe de l’assignation des requêtes, intérêts et limites
  • Utilisation de LINQ et des itérateurs dans l’implémentation des solutions
  • IEnumerable<T> vs List<T> : choix, impacts et performances
  • Requêtage LINQ – utilisation, optimisation et limites
  • Exemples de codes

 

Module 17 : Présentation des Architecture en couche
Ce module présente comment concevoir une architecture en couche

  • Présentation des principes des couches
  • Introduction aux fonctions des différentes couches
  • Intérêts et impacts sur le code et la gestion des projets
  • Modélisation des entités : principes, POCO et DTO
  • Entités vs cycle d’analyse du projet
  • L’architecture de référence : pourquoi ?
  • Utilisation de boites à outils
  • Les patterns de code
  • Exemple de développement

 

Pour me contacter :

Bernard Fedotoff
+33 6 12 54 93 12
bfedotoff(at)agilcom.info ou bfedotoff(at)hotmail.com