2017-08-31 1 views
0

Mit etwas Hintergrund auf MVVM, ich bin jetzt auf Prism für eine groß angelegte Anwendung. Ich habe das ausgezeichnete Developer’s Guide to Prism gelesen und verstanden.Definieren Datenmodelle die logische Aufteilung zwischen Modulen in einer Prism-Anwendung?

Was mir entgeht ist: Wo kann ich meine Anwendung logisch in verschiedene Modelle trennen? Es scheint, dass verschiedene Datenquellen (oder Modelle) dies diktieren, aber ich habe keine solide Aussage gefunden.

In meinem Fall habe ich eine einzige Datenquelle: eine Datenbank mit einer Vielzahl von Einträgen, aber in einer einzigen Tabelle, die in einen einzigen Objekttyp übersetzt wird. Ich hätte jedoch gerne verschiedene völlig unterschiedliche visuelle Darstellungen der Daten, je nachdem, was der Benutzer damit machen möchte. Werden diese Darstellungen besser als verschiedene Module oder als verschiedene Ansichten innerhalb desselben Moduls implementiert? Mein Gefühl ist, dass es Letzteres ist, da ich nicht sehen kann, wie die Verwendung des gleichen Datenmodells über verschiedene Module MVVM-weise implementiert wird, aber ich würde es gerne von den Experten da draußen bestätigt sehen.

Diese Frage ist etwas ähnlich wie Where does the data model go in a Prism app?, aber nicht ganz das gleiche ...

Antwort

1

Sind diese Darstellungen besser als verschiedene Module implementiert oder als unterschiedliche Ansichten innerhalb des gleichen Moduls?

Nur Sie als Entwickler oder Architekt können das entscheiden. Aber ich würde auch das letztere sagen, d. H. Verschiedene Ansichten innerhalb desselben Moduls.

Ein Prism Modul ist nichts anderes als eine "lose gekoppelte Funktionseinheit". Dies ist nicht dasselbe wie eine andere visuelle Darstellung der gleichen (oder fast der gleichen) Daten.

Sogar eine einzelne Ansicht kann implementiert werden, um mehrere verschiedene visuelle Darstellungen der gleichen zugrunde liegenden Daten anzuzeigen, so dass Sie sicherlich nicht mehrere Module benötigen, um dies zu können. Sie sollten also wahrscheinlich mit einem einzelnen Modul beginnen. Sie können später immer weitere Module hinzufügen, wenn Sie aus irgendeinem Grund benötigen.

+0

Das ist richtig, danke für die Köpfe hoch! In diesem frühen Stadium ist es wichtig, Modularität und Erweiterbarkeit zu berücksichtigen. Daher werde ich ein einziges Modul implementieren und die Infrastruktur einrichten. – Informagic

+0

Hoppla, mein Schlechter - ich hatte es akzeptiert, aber nicht darüber abgestimmt. Danke für die Erinnerung! – Informagic