2016-08-02 13 views
-1

In letzter Zeit habe ich erfolgreich eine Desktop-Anwendung mit WPF-Technologie mit MVVM-Architektur und Prism implementiert. Ich bin sehr glücklich darüber, wie das gesamte, ziemlich große Projekt entstanden ist und wie einfach es ist, die gesamte Anwendung jetzt zu verwalten. Keine Fragen über die MVVM, ich bin schon verkauft, aber wie wäre es mit dem Prism, würdest du das als eine gute Wahl betrachten, wenn es darum geht, das MVVM-Muster zu implementieren? Ich bin ziemlich zufrieden mit dem Produkt, aber ich habe mich gefragt, was ist deine Meinung dazu?Ist Prism ein gutes Produkt für die MVVM-Entwicklung?

Antwort

2

Kurze Antwort: Nein.

Lange Antwort: Prism ist eine Composite-Library-Anwendung, die Funktionen für die Erstellung von zusammensetzbare Anwendungen, einschließlich MVVM Muster.

Meiner Meinung nach kann MVVM mit einfacheren Frameworks wie MVVMLight und Caliburn.Micro erreicht werden. Wenn Sie die zusätzlichen Funktionen von Prism nicht benötigen, würde ich sie nicht verwenden. Zusätzliche Funktionalität ist nur mehr Code, der brechen kann, wenn Sie ihn nicht verwenden.

Ist Prisma ein gutes Produkt? Ja.

+0

Gotcha, ich stimme Ihnen zu, dass zusätzliche Komplexität nicht immer vorteilhaft ist. Ich glaube nicht, dass Prism zu komplex ist (außer Dinge wie die Implementierung von Popups mit INotification), aber wie du schon sagtest, könnte es leichtere Wege geben, MVVM zu implementieren. Da du erwähnt hast, werde ich MVVMLight für meine nächste App in Betracht ziehen. Danke für Ihr Feedback – lucas

+1

Und noch ein Hinweis zur Komplexität. Ich würde der Aussage zu einem gewissen Grad zustimmen, sonst würden wir bei WindowsForms und Asp.Net WebForms (und schlechten Praktiken der App Dev) bleiben, und keine weiteren Architekturen würden verwendet werden. Um eine vollständig skalierbare, erweiterbare, wartbare und testbare Anwendungsmodulaktivität zu implementieren, ist ein Muss erforderlich, daher ist eine gewisse Komplexität unvermeidlich. – lucas

+0

@lucas Wenn ich Komplexität sage, meinte ich wirklich Funktionalität. Ich werde meine Antwort bearbeiten. –