Intérêts de la POO
- Rappel des principes de la programmation procédurale.
- Avantages et inconvénients de cette approche.
- Exemple d'une application orientée Objet.
Travaux pratiques
Comparaison d'un même programme simple réalisé avec un découpage fonctionnel et orienté Objet.
La notion d'architecture applicative
- Du mainframe au client-serveur.
- Du client-serveur aux architectures multiniveaux.
- Architecture globale des applications en .NET : organisation en couches et en niveaux.
- Principe du modèle en trois couches : présentation, métier et accès aux données.
- Principe des applications distribuées et des architectures SOA.
Travaux pratiques
Analyse d'une application simple (starter kit) architecturée en trois couches logiques.
La notion d'objet
- Démystifier la notion d'objet et terminologie associée.
- Conception et manipulations d'objets (classes, instances).
- Utilisation du diagramme de classes UML.
L'implémentation d'une classe
- Mise en œuvre du mécanisme d'encapsulation.
- Implémenter une méthode avec surcharges.
- Ajouter des constructeurs. Créer un membre statique.
- Définir la visibilité d'un membre et contrôler son accès.
Travaux pratiques
Manipuler les différents types de membre d'une classe.
Les concepts de la POO
- Principe et intérêt du mécanisme d'héritage.
- Redéfinir un membre dérivé.
- Rôle des classes abstraites et des interfaces.
- Faire du polymorphisme avec une interface.
Manipulations courantes d'objets en .NET
- Principe de la liaison précoce ou tardive et de la réflexion.
- Rôle et comportement des types valeur et référence.
- Regroupement d'objets en collections.
- Principe du DataBinding. Principe de LINQ.
Travaux pratiques
Se familiariser avec la manipulation des objets en .NET, avec exemple de LINQ, LINQ To Object et To SQL.
Outils et méthodes
- Aperçu des techniques d'analyse (RUP, Agile).
- Tirer parti d'UML (principaux diagrammes, pièges à éviter...).
- Principe et intérêt des Design Patterns.
Travaux pratiques
Réalisation du pattern Singleton et analyse des patterns exploités dans le framework .NET.