Introduction
- Présentation et comparaison des architectures 2-tiers, 3-tiers, n-tiers.
- Rappel sur les delegate et méthodes anonymes, les event, les types génériques, les types nullables.
- Les nouveautés de la version 3 du langage C# : LINQ, lambda expressions, méthodes d'extension, types anonymes.
Travaux pratiques
Prise en main de l'environnement de développement (Visual Studio 2008).
Les tests unitaires
- Organisation d'un développement en C#, notion de ?test project'.
- Ecriture de tests unitaires.
- Utilisation des mocks.
Le couplage faible dans une architecture n-tiers
- Définition d'une architecture à couplage faible grâce aux patterns factory et strategy, gestion du cycle de vie des instances avec les patterns singleton et prototype.
- Mise en place de cette architecture avec le conteneur léger Spring.NET
- Introduction aux autres solutions disponibles : Castle, Unity (framework IOC en développement chez Microsoft)
Travaux pratiques
Gestion de la création et du cycle de vie des instances dans un contexte Spring.
La persistance
- Présentation du pattern dao et du gain apporté par les Frameworks de mapping objet/relationnel
- Présentation du projet Hibernate comme framework de mapping objet/relationnel
- Création d'un mapping avec nHibernate
- Manipulation de données persistantes, application du pattern proxy pour isoler notre application de nHibernate.
- Rappel des erreurs à éviter.
- Introduction aux autres solutions disponibles, notamment Microsoft Entity Framework
Travaux pratiques
Réalisation d'un mapping, écriture de requête HQL.
Exposition d'un composant métier dans une architecture distribuée
- présentation des enjeux d'une architecture distribuée et de Windows Communication Foundation.
- présentation des avantages du pattern command, mise en place du pattern facade pour réceptionner les commandes.
- mise en oeuvre des patterns chain of responsability et observer pour orchester le traitement des commandes.
- Travaux pratiques : création d'un endpoint WCF pour exposer la facade et la rendre disponible à d'autres applications.
Travaux pratiques
Création d'un endpoint WCF pour exposer la facade et la rendre disponible à d'autres applications.