C# et la conception objet
Le passage à Microsoft .Net implique la connaissance d'un langage de développement orienté objet. Parmi ceux proposés par la plate-forme .Net, VB.NET et C# sont les plus populaires. Alors pourquoi se former à ce langage plutôt qu'à VB.NET ? Simplement parce que les développeurs familiers de Visual Basic 6 ont tendance à reproduire le même style de programmation. En passant à C#, la migration vers la programmation objet (et peut-être vers Java ou C++ un jour) en sera facilitée.
Ainsi, à l'issue de ce cours, vous serez un programmeur non seulement familier des éléments fondamentaux de la syntaxe de C# et de la plate-forme .Net, mais vous saurez également comment aborder l'analyse et la conception orientées objet.
Travaux pratiques :
Le cours se déroule avec une approche Just-in-Time en suivant un projet réaliste développé de manière itérative tout au long de la semaine. Chaque itération donne lieu à une phase d'analyse et de conception. Elle est l'occasion d'approfondir un des concepts objets, vous permettant ainsi de pratiquer le langage C#, d'utiliser quelques Design Patterns incontournables et de traduire vos conceptions objets en C#. Vous utiliserez l'outil Visual Studio .Net pour acquérir des compétences immédiatement opérationnelles.
Vous allez apprendre à :
- Lire et écrire du code C#
- Utiliser l'outil de développement Visual Studio .Net
- Créer des modèles du domaine dans la notation UML
- Affecter des responsabilités aux objets avec les Design Patterns
- Concevoir des systèmes d'objets à l'aide de diagrammes d'interactions et de classes UML
- Concevoir à l'aide du polymorphisme, des interfaces, de l'héritage et de l'encapsulation
- Traduire des conceptions en C# et appliquer des expressions idiomatiques C#
- Maîtriser quelques composants essentiels du Framework .Net
- Créer et configurer des assemblages .Net
- Mettre en oeuvre une programmation avec tests préalables et utiliser le Framework de tests NUnit C#
Méthode pédagogique :
70% de travaux pratiques
Audience :
Développeurs logiciels passant à C#, néophytes en conception et programmation orientées objet
Pré-requis :
- Maîtrise d'un langage de programmation de haut niveau
Programme :
- Les concepts objets
- Encapsulation et agrégation
- Responsabilités et collaborations
- Classe et instances
- Méthodes et messages
- Hiérarchies de types
- Héritage
- Interfaces et polymorphisme
- Définir des classes C#
- Méthodes Main() et ToString()
- Les classes de base de .Net : String, collections, etc.
- This
- Constructeurs
- Contrôle des accès
- Les propriétés
- Organisation des fichiers et des espaces de noms
- Attributs et méthodes
- Implémenter une interface
- Le développement itératif
- Les processus de développement itératifs et incrémentaux
- Orientation objet et processus itératif
- Complexité et décomposition
- L'analyse objet
- Le modèle du domaine
- La notation UML pour les modèles statiques
- Les diagrammes de séquences de niveau système
- La conception objet
- Les modèles de conception
- Notion de visibilité
- Les diagrammes de classes
- Les Design Patterns
- Les diagrammes d'interaction
- Attribution de la bonne méthode à la bonne classe
- Héritage et polymorphisme
- Définir des classes dérivées
- Surcharger des méthodes
- Invoquer un constructeur d'une classe de base
- Les méthodes virtuelles
- Liaison statique et dynamique
- Définition et implémentation d'interfaces
- La technologie .Net
- La CLR, le compilateur JIT, le Class Loader
- Le système commun de type (CTS) et MSIL
- La gestion dynamique de la mémoire
- Les Assemblies
- La bibliothèque de classe du Framework .Net
- Code Managed vs. code Unmanaged
- L'interopérabilité entre langages
- Classes du Framework .Net
- Les flux d'entrées / sorties
- La gestion des exceptions
- La classe Object
- Les collections .Net
- Les collections génériques