2017-08-31 2 views
0

Avec un peu d'expérience sur MVVM, je passe maintenant à Prism pour une application à grande échelle. J'ai lu et j'ai compris l'excellent Developer’s Guide to Prism. Ce qui m'échappe, c'est: où puis-je logiquement séparer mon application en différents modèles? Il semble que différentes sources de données (ou modèles) dictent cela, mais je n'ai pas trouvé de déclaration solide.Les modèles de données définissent-ils la séparation logique entre les modules d'une application Prism?

Dans mon cas, j'ai une seule source de données: une base de données contenant une multitude d'entrées mais dans une seule table, traduisant en un seul type d'objet. Cependant, j'aimerais avoir différentes représentations visuelles des données, en fonction de ce que l'utilisateur veut en faire. Ces représentations sont-elles mieux implémentées sous forme de modules différents ou de vues différentes au sein d'un même module? Mon sentiment est que c'est le dernier, car je ne vois pas comment utiliser le même modèle de données sur différents modules serait implémenté MVVM-sage, mais je voudrais le voir confirmé par les experts là-bas.

Cette question est un peu similaire à Where does the data model go in a Prism app?, mais pas tout à fait la même ...

Répondre

1

-ce que ces représentations mieux mises en œuvre en différents modules ou en différents points de vue au sein du même module?

Seulement en tant que développeur ou architecte, vous pouvez décider de cela. Mais je dirais aussi le dernier, c'est-à-dire différents points de vue au sein du même module.

Un module Prism n'est rien d'autre qu'une "unité fonctionnelle à couplage lâche". Ce n'est pas la même chose qu'une représentation visuelle différente des mêmes données (ou presque).

Même une seule vue peut être implémentée pour afficher plusieurs représentations visuelles différentes des mêmes données sous-jacentes. Vous n'avez donc certainement pas besoin de plusieurs modules pour cela. Donc, vous devriez probablement commencer avec un seul module. Vous pouvez toujours ajouter des modules supplémentaires plus tard si vous en avez besoin pour une raison quelconque.

+0

C'est vrai, merci pour les heads up! Ce qui est important à ce stade précoce est de garder à l'esprit la modularité et l'extensibilité. Je vais donc mettre en place un seul module et mettre en place l'infrastructure. – Informagic

+0

Oups, mon méchant-je l'avais accepté, mais je n'ai pas voté. Merci pour le rappel! – Informagic