| 

.NET C# Java Javascript Exception

6
Hallo Zusammen,

wer arbeitet im deutschsprachigen Raum mit MVVMLight in einer WPF Business App die mehr als ein Fenster/Dialog etc. hat und mehr als ein Control darin.

Die sinnvollen Beispiele im Netz sind immer so einfach gehalten, dass Sie aus meiner Sicht im "echten" Leben selten ausreichen.

Hat jemand Beispielseiten oder Projekte die bei der Arbeit hilfreich sein können oder möchte sich hier jemand austauschen? Vielleicht ist auch jemand dabei der einschlägig Erfahrungen hat und gerne seine Dienste anbieten möchte.
News:
06.05.2013
dkb 71 3
6 Antworten
0
Die sinnvollen Beispiele im Netz sind immer so einfach gehalten, dass Sie aus meiner Sicht im "echten" Leben selten ausreichen.

Vielleicht hat dies damit zu tun, dass MVVM Light ein MVVM Framework für kleine, aber feine Anwendungen ist, aber zur Entwicklung von grösseren modular entkoppelten LOB Anwendungen nicht ganz optimal ist.
Für Deine Zwecke würde ich mir eher PRISM anschauen, was Du auch auf Codeplex findest. Dort gibt es auch eine Reference Implementation 'Stocktrader'.
Installiere Dir zusätzlich das PRISM Template Pack. Die Templates geben Dir einen guten Start in die PRISM Entwicklung.
Mit MVVM an sich und DI (Unity/MEF) kennst Du Dich aus?
Falls Du konkrete Fragen hast, dann kannst Du sie gerne stellen.
06.05.2013
judgy 3,0k 1 1 8
0
Ich hatte mit Prism angefangen. Aber das Ding ist ja riesig und 65% vom dem Zeug brauch man nicht unbedingt. Dafür muss man aber erst mal die komplette Doku studieren. Dafür bin ich echt schnell und handlich mit MVVM Light an die gleiche Stelle gekommen, obwohl der Region Manager schon ne coole Sache ist, die ich vermisse nun.

MVVMLight hat doch echt ein paar nette Features, wie den Locator, Messenger etc. die für mittlere Anwendungen doch echt gut sind.
Das Template Pack ist übrigens auf 4.0. Macht bei mir größere Probleme mit Prism 4.1 so dass ich ständig die References per Hand überarbeiten musste.

Bei Unity und MEF scheiden sich ja auch echt die Geister. Ich habe mit MEF begonnen, weil im Framework integriert. Spaß machte das aber nicht wegen der Annotationen an den Klassen.
Hast Du da gute Erfahrungen bezüglich Prism? MEF oder Unity? Oder was empfiehlst Du?

Dann wollte ich Telerik als WPF Controls integriern und über den Region Manager TabPanels laden. Da ging es dann erst richtig mit Workarounds los. Irgendwie hat das zum Schluss keinen Spaß mehr gemacht und ich hatte erst zwei kleinere Module in die Hauptapp integriert. Dafür war der Aufwand echt immens.
06.05.2013
dkb 71 3
0
Ja, ich gebe Dir recht. MVVMLight ist für kleine Anwendungen eine recht fein Sache. Wer einen Einstieg in MVVM sucht, findet sich in MVVMLight schnell zu recht.

Aber gerade den ServiceLocator sehe ich als Nadelöhr, wenn man grössere Anwendungen entwickelt. Es wird IMO recht schnell unübersichtlich.

An Prism finde ich das moduare Konzept sehr durchdacht:
Eine Anwendungen teilt sich in N Module auf, die in der Regel unabhängig von einander, alle identisch aufgebaut sind (View-ViewModel-Model-ServiceAgent) und deren Module über den EventAggregator miteinander kommunizieren.
Wenn man den Aufbau eines Modules verstanden hat, kommt man auch mit jedem anderen Modul zurecht.
Das ganze ist skalierbar.

Ich gebe zu, dass Prism erst einmal abschreckend wirkt, aber wenn das Modulgerüst einmal steht, denkt man nicht mehr drüber nach.
Ob nun Unity oder MEF besser ist, kann ich gar nicht so genau sagen. Wer AOP spannend findet, der setzt auf MEF.

Telerik unterstützt MVVM und PRISM sehr gut.
Ich selbst habe bei einem Kunden auf Basis von Prism, Silverlight 5 und Telerik eine größere LOB Anwendung mit einem Outlook Design laufen. Jede Outlook Rubrik entspricht einem abgeschlossenem Modul. Beliebig grosse Rubriken können in das System dynamisch eingeklinkt werden.

Ich kann es nicht versprechen, aber ich kann mal in den nächsten Tagen das Gerüst der Anwendung (Prism, Telerik, Unity) herausziehen und hier posten.
06.05.2013
judgy 3,0k 1 1 8
0
Hi,

ja Deine App würde mich tatsächlich interessieren. Mir fällt es oft leichter, wenn ich einen praktischen Orientierungspunkt habe. Wäre toll wenn Du mal was zum anschauen hättest. Gerne auch per Mail wenn Du es hier nicht öffentlich posten möchtest.

Hast Du da nun MEF oder Unity gewählt?
Der modulare Aufbau ist ja auch echt eine coole Sache besonders, wenn beim starten der Anwendung sich die Module über Manager selber registrieren, falls vorhanden.

Du hast Recht. Die Telerik WPF Demos sind ja auch mit Prism aufgebaut. Daran habe ich mich ja orientiert.

Was mich zum Beispiel sehr gewundert hast, vielleicht kannst Du mir was dazu sagen, dass die Module wenn Sie registriert werden, bereits alle scheinbar geladen werden, obwohl die ja aus meiner Sicht eigentlich erst instanziiert werden sollen, wenn es aufgerufen wird. Hattest Du das Problem auch?

Hälst Du Caliburn.Micro oder Cocktail für eine Alternative?
07.05.2013
dkb 71 3
Bin zur Zeit unterwegs.. Komme nicht dazu etwas vorzubereiten. Ich nutze Unity.
Im ModuleCatalog.xaml kannst Du konfigurieren, wann die Module geladen werden sollen:
InitializationMode="WhenAvailable"
oder
InitializationMode="OnDemand"
judgy 08.05.2013
0
Ich habe für ein grösseres Projekt Catel eingesetzt. Dieses MVVM Framework wird aktiv entwickelt, hat eine aktive community, ist gut dokumentiert und es hat zahlreiche Beispiele hierzu. Es ergänzt sich gut mit PRISM.
10.05.2013
0
Ich habe vor ein paar Monaten auch mit MVVM Light angefangen. Ich fand es auch besser verständlich, mit dem ServiceLocator zu arbeiten.

Soweit funktionierte das auch alles gut, aber vor ein paar Tagen tauchte das erste Problem mit dem View-First Ansatz auf. Wie in den Bespielen vorgeschlagen habe ich auch einen IDialogService über den View in das ViewModel injiziert. Jetzt benötigt ein Command im ViewModel den DialogService. Je nach Rechner!!! bekomme ich nun eine NullException, weil zu dem Zeitpunkt, an den das Command erstellt wird das ViewModel offenbar den DialogService noch nicht kennt. (Das passiert an einem ganz neuen, schnellen Lenovo Laptop.) Besser wäre es also, wenn das ViewModel gleich über den Konstruktor den DialogService herein gereicht bekommt. Das ist aber mit dem ServiceLocator so nicht möglich ...

Es könnte uns also passieren, dass wir uns von MVVM Light wieder trennen müssen und auf ein anderes MVVM Framework umsteigen müssen :(
15.05.2013
Xantiva 2,3k 2 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH