Starten von WPF MVVM. Verwenden Sie ein Framework? [geschlossen]

8

Ich habe mir hier einige Fragen zum Stack-Overflow angeschaut, wie this & amp; mix10 baut Ihr eigenes mvvm-Framework auf

Ich frage mich, ob es als Anfänger besser ist, bei Null anzufangen (aber ich habe vom Video gehört, es ist nicht zu empfehlen) oder benutze ein Framework

auch das ist besser geeignet als Anfänger Framework zu lernen? Ich finde, dass ich nach dem Lesen einiger Artikel oder sogar Tutorial Videos noch ziemlich verloren bin. Ich kann Teile hier und da bekommen, aber immer noch nicht da.

caliburn micro ein kleiner Rahmen leicht zu erlernen? oder etwas von Microsoft wie MVVM Toolkit oder Unity / Prism (was ist der Unterschied zwischen all diesen MS-Frameworks btw)? MVVM Licht?

    
Jiew Meng 31.08.2010, 07:27
quelle

4 Antworten

10

Mein $ 0,02:

Ich habe vor ein paar Wochen WPF / das Mvvm-Muster benutzt und eine Route, die ich definitiv empfehlen kann, ist zuerst ein Testprojekt zu starten, viel über mvvm zu lesen und es selbst zu implementieren (auch wenn es nur so ist) indem du Teile anderer Leute verwendest). Implementiere etwas, lies etwas mehr, gehe zurück und ändere Dinge und lese dann noch mehr.

Mach das in den ersten zwei Wochen und du wirst eine Vorstellung davon bekommen, worum es eigentlich geht, du wirst einige Probleme sehen und einige Lösungen finden, und so weiter. Im Grunde wird dies die mvvm-Idee in die Finger bekommen und Ihnen praktische Erfahrung geben.

Wenn du möchtest, dass du dein Testprojekt wegschmeißt, dann entscheide, ob du wirklich anfangen sollst, eigene Sachen zu schreiben oder ein bestehendes Kit zu verwenden, und wahrscheinlich mehr Wertschätzung und Verständnis für den Weg hast bestehende Kits funktionieren.

Ich verwendete kein vorhandenes Kit, sondern meine eigene sehr einfache Implementierung, da ich für mein Projekt nicht viel Komplexität benötigte, aber ich habe viel mehr Wertschätzung für einige Implementierungen bekommen, die ich auf den Interwebs diskutiert habe / p>

Bearbeiten: Wenn ich von "zwei Wochen" spreche, meine ich "zwei Wochen Freizeit", das sind ungefähr 25 echte Stunden; -)

    
Pygmy 31.08.2010, 09:52
quelle
11

IMO, brauchen Sie kein Framework zu verwenden. MVVM ist nur ein Weg, Dinge zu tun.

Zunächst benötigen Sie nur eine RelayCommand -Klasse, damit Sie Befehle an Ihr viewModel binden können. Sie können es von Josh Smith MVVM Foundation herunterladen

Wenn Sie fortgeschrittener sind, können Sie weitere Klassen hinzufügen wie:

  
  • ObservableObject : Dies ist die Basisklasse für   ViewModel-Typen oder ein beliebiger Typ, der   Benachrichtigungen zur Änderung der Eigenschaften bereitstellen   Es implementiert INotifyPropertyChanged   In Debug-Builds wird dies überprüft   Alle Eigenschaftsnamen, die durch die    PropertyChanged event ist gültig   Eigenschaften. Diese Klasse war einmal   genannt ViewModelBase .

  •   
  • Messenger : Die Messenger-Klasse ist eine leichte Art des Passierens   Nachrichten zwischen verschiedenen ViewModel   Objekte, die nicht bewusst sein müssen   gegenseitig. Dies basiert auf der    Mediator Implementierung erstellt von   Marlon Grech und Josh Smith, wie gesehen   auf Marlons Blog.

  •   
    
Eduardo Molteni 31.08.2010 11:29
quelle
3

Aus meiner Sicht, wenn Sie WPF / MVVM für sich selbst lernen, dann müssen Sie MVVM gründlich lernen und versuchen, ein Framework von Grund auf neu zu erstellen (wie von Eduardo erklärt)

Wenn Sie jedoch mit einem kommerziellen Projekt oder einer Enterprise-Anwendung beginnen, müssen Sie ein etabliertes Framework wie PRISM oder Caliburn oder MVVM Light Toolkit verwenden.

Wir hatten in meinem ersten Projekt keinen Rahmen verwendet, und das bedauere ich etwas. Obwohl nichts schief gelaufen ist und es nicht sehr schwer war, einen eigenen Rahmen zu bauen (wie Eduardo sagte), aber es hat uns viel Zeit und ein Nein gekostet. von Iterationen beim Finalisieren verschiedener Basisklassen usw. Auch konnten wir verschiedene Dinge, die in einigen dieser Frameworks bereits implementiert sind (wie wir sie überhaupt nicht kannten), nicht ausnutzen.

    
akjoshi 01.09.2010 07:39
quelle
0

Ich denke, es ist besser, mit einer Hallo-Welt-Anwendung zu beginnen. Langsam gewöhnen Sie sich an die Steuerelemente (listview, gridivew ...) und dann an grundlegende wpf-Konzepte (Binding, Templates, Trigger ...). Danach können Sie zu MVVM weitergehen.

    
Sathish 31.08.2010 11:55
quelle

Tags und Links