Initiation WPF MVVM avec Prism et MEF

En ce moment, je travaille sur une application WPF utilisant Prism.
Du coup ca m’inspire pas mal pour en faire un article afin de partager les connaissances que j’ai pu glaner sur cette techno et ce pattern !

Quelques rappels tout d’abord :

Qu’est-ce que PRISM ?
Alors, Prism, c’est un Framework nous aidant à appliquer le pattern MVVM (Model-View-ViewModel) de façon à respecter les bonnes pratiques de conception/développement. Ceci afin de réaliser une application stable, facilement maintenable et testable !

Et MEF ?
Parfois, pour développer de grosses applications, on aura besoin de découper celle-ci en plusieurs modules fonctionnels.
MEF (Managed Extensibility Framework) est, comme son nom l’indique, un Framework permettant de développer des applications modulaires. Unity permet aussi de concevoir des applications modulaires comme MEF.
La spécificité de MEF c’est l’utilisation des attributs « Import » (utiliser des services) et « Export » (pour fournir des services).

Développons un exemple :

Contexte
On désire créer une application de gestion de classes pour des professeurs : les professeurs peuvent gérer les informations les concernant, ainsi que les informations de leurs élèves et les cours/classes associées.
Il s’agira donc de créer une application multi-fenêtrée (MDI) en WPF, dans laquelle on peut d’ores et déjà y voir 2 modules principaux : un pour tout ce qui concerne les élèves et professeurs, et un concernant les cours.

Définissons la base de données :

BDD

  Continuer la lecture de Initiation WPF MVVM avec Prism et MEF

Partagez:

[WCF] Entity Framework et service WCF consommé par Windows Phone

Dans cet article, je vais faire une introduction à WCF (Windows Communication Foundation), ainsi que l’utilisation que l’on peut en faire. Plus particulièrement, comment consommer un même service par plusieurs applications clientes ? (WPF, Windows Phone etc.)

Le code source de la solution est disponible en fin d’article.

Présentation

Comme présenté sur l’article Wikipédia, WCF est présent depuis la version 3.0 du Framework .NET. C’est une couche d’abstraction qui unifie et simplifie la mécanique d’intégration des services Web.

Etude de cas

Je suis un étudiant au lycée, et je souhaite, via une application, connaitre les détails d’une salle via son numéro.

Par exemple, dans la salle « C2125 » quel professeur fait cours, sur quelle matière? Et avec quels élèves serais-je ?

De ces besoins, déduisons-en une application à développer :

  • Base de données SQL Server (contenant la liste des élèves/professeurs leurs matières respectives) ;
  • Application Windows Phone, pour les étudiants voulant avoir les détails d’une salle ;
  • Service WCF, lié à la couche de données qui permettra d’être consommée à la fois par le client Windows Phone, mais aussi pour d’autres comme Silverlight ou WPF.

Voici les différentes étapes que nous allons suivre pour mener à bien cette étude de cas :

  1. Définition de la base de données
  2. Création du service WCF & implémentation EDMX
  3. Création du projet Windows Phone 7.1

  Continuer la lecture de [WCF] Entity Framework et service WCF consommé par Windows Phone

Partagez:

[EF4] Les types complexes

Définition

Tout d’abord, une petite définition de ce qu’est un type complexe dans Entity Framework :

Un type complexe est un ensemble de propriétés que vous pouvez regrouper. Parfois, votre code devient plus clair lorsque vous regrouper les propriétés. Nous allons ici montrer comment vous pouvez créer des types complexes à partir du designer.

Avant la version 4 de Entity Framework, vous pouviez aussi créer ces types complexes. L’inconvénient était que vous deviez le faire manuellement, ce qui signifiait que vous deviez vous rendre dans le CSDL (schéma conceptuel) et ajouter le code XML nécessaire pour créer le type complexe. Le problème avec ceci est que, une fois que vous avez créé votre type complexe, on ne pouvait plus ouvrir le designer de l’EDM, parce que celui-ci ne prenait pas en charge les types complexes.

Exemple d’utilisation

Car les exemples sont souvent plus parlants, nous allons ici étudier un cas concret de type complexe.

Prenons une entité « Customer » dans le designer de l’EDMX, ce client possède plusieurs propriétés, notamment celles concernant son adresse :

Ces différentes propriétés sont : Street, PostalCode, City, Country. Ce sont ces éléments que nous allons regrouper en type complexe.

Continuer la lecture de [EF4] Les types complexes

Partagez: