2012-03-28 7 views
0

Ich verschieben vorhandene C++/CLI-Anwendung zu C#/WPF. Als die Erstanmeldung geschrieben wurde, wurde keinerlei Design gemacht. Die Anwendung hat die Fähigkeit, eine oder mehrere Bilddateien zu laden (es ist jeweils nur ein Bild sichtbar), es besteht auch die Möglichkeit, eine Verbindung zu einem Mikroskop herzustellen und Bilder in Echtzeit zu sehen und zu speichern (Bilder vom Mikroskop im selben Bildfeld) wie die geladenen). Dann gibt es viele Dialoge mit verschiedenen Einstellungen. Es gibt Schaltflächen in der Hauptansicht, um verschiedene Berechnungen basierend auf aktuell geladenen Bilddateien und ausgewählten Einstellungen durchzuführen.MVVM WPF wissenschaftliche Anwendung mit Dialogen

Es gibt einen Knopf Bilder in ein anderes Fenster geladen zu senden, die mehr Funktionen haben - mach einen Film aus geladenen Dateien berechnet Statistiken etc.

Ich bin ziemlich neu in C#/WPF Welt, sondern machen will ein schönes Design. Ich habe einige Nachforschungen angestellt und es sieht so aus, als ob MVVM das Muster ist, das hauptsächlich in WPF verwendet wird. Jetzt lese ich über PRISM. Ich verstehe mehr oder weniger, was mit MVVM passiert, kann aber seine Logik noch nicht auf meine Situation anwenden. Vielleicht sollte ich bei MVC bleiben? - aber es gibt nicht viele Reserven dafür, wie man es mit WPF benutzt ... Ich habe Beispiele gefunden, wo man Dialoge platzieren kann, aber ich weiß nicht, wo ich meine Berechnungen machen soll ... sieht aus als ob sie nicht zu einer von M/MV/V gehören. Auch kann ich nicht verstehen, wenn ich nur ein Modell mit vielen ViewModels verbunden haben kann.

Antwort

1

Zunächst ist dies ein häufiges Missverständnis.

MVVM ist ein Muster wie MVC. Es gibt verschiedene Frameworks, die Ihnen bei MVVM helfen. MVVMLight, Caliburn ist eines der Beispiele. Ich denke, Sie müssen lernen, was MVVM ist und dann nach verschiedenen Implementierungen suchen. Persönlich habe ich meine eigene Basis View Model Klasse geschrieben und das alles ist MVVM

PRISM ist ein Framework und eigentlich hat es fast nichts mit MVVM zu tun. Es bietet INotifyPropertyChanged Implementierung, aber das ist es.

PRISM ist ein großer Rahmen, es braucht Zeit, um es zu lernen. Es ist nichts, was du heute Abend benutzen kannst. Es ist jedoch "a la cart", was bedeutet, dass Sie nicht alles verwenden müssen und nur das verwenden können, was Sie brauchen.

Je mehr ich lerne, desto mehr wird mir klar, dass PRISM so ziemlich all die Probleme löst, die Sie haben werden, wenn Sie große Geschäftsanwendungen mit starker Benutzeroberfläche entwickeln. Für mich hat sich die investierte Zeit definitiv bezahlt gemacht.

Es bietet Regionen, Modularität, Messaging, IoC und andere Dinge, die benötigt werden, wenn Sie große Anwendung erstellen. MVVM sieht winzig und einfach aus, nachdem Sie größeres Bild sehen.

+0

Danke. Ich habe meine Frage wahrscheinlich nicht richtig formuliert. Ich verstehe, dass MVVM ein Muster ist, ich war einfach nicht sicher, dass dies ein Muster ist, das ich verwenden sollte. Ich bin sehr vertraut mit MVC und C++ und nicht MVVM, C#, WPF. Ich begann Caliburn.Micro anstelle von PRISM zu verwenden - nur für einen schnellen Start. Und die Frage, die ich hatte, war, wo ich meine Berechnungen machen sollte, weil ich irgendwo gelesen habe, dass Anwendungslogik nicht zu Model oder ViewModel gehört ... – user1298416