Je suis la conception d'une application (ou Silverllight WPF, encore à débattre) mais je suis bloqué à un problème de conception et a été si vous demandez pouvait donner votre avis sur ce ....Qui est propriétaire du ViewModel dans une application MEF
Voici le scénario. Ceci est une application de gestion des employés pour les ressources humaines. Une fois l'application prête, HR peut demander l'ajout de fonctionnalités supplémentaires (ce qui signifie la plupart du temps, plus de données). Supposons qu'un formulaire d'employé enregistre l'enregistrement de l'employé dans la base de données .Le formulaire d'employé a un EmployeeViewModel associé avec lequel il communique. EmployeeViewModel utilise Entity Framework pour conserver ses données dans la base de données. Maintenant, si le HR veut ajouter un nouveau jeu de champs, dites "Information sur le conjoint", je prévois de fournir un plug-in que les RH peuvent simplement ajouter au formulaire quand il est disponible. Ce plug-in, SpouseInfo est en quelque sorte un usercontrol avec un modèle de vue qui lui est propre.
Le problème est de savoir à qui appartient ViewModel ici.
a. Est-ce que je rend SpouseInfo complètement indépendant. Chaque fois que le formulaire Employé est enregistré ou chargé, SpouseInfo appelle son modèle de vue et charge ou enregistre les données. Dans ce cas, avant de pouvoir enregistrer ou charger les données, il aurait besoin du EmployeeId du formulaire Parent avant que les données puissent être sauvegardées (ce qui signifie que le formulaire Employé enregistre d'abord les données, puis passe l'ID employé à SpouseInfo)
ou
b. Le formulaire Employé possède le ViewModel pour SpouseInfo. Cela étant l'entité mère, il est chargé de charger et de sauvegarder l'entité enfant, c'est-à-dire SpouseInfo viewModel.
Merci, A
Merci pour la réponse Reed. Je suis d'accord sur la façon dont je gère cela est purement un choix de conception et puisque je suis en mode design à ce stade, je veux juste m'assurer que je le fais de la manière la plus efficace. Votre suggestion de conception est logique. Je vais très probablement aller avec quelque chose comme ça. Merci. – Meenu