Gibt es einen Rahmen, der diesen Ansatz ohne viel Aufwand erleichtert?Wie wird der ViewModel-First-Ansatz verwendet?
Es scheint, Frameworks wie MVVM Light sind mehr Sicht zuerst konzentriert.
Gibt es einen Rahmen, der diesen Ansatz ohne viel Aufwand erleichtert?Wie wird der ViewModel-First-Ansatz verwendet?
Es scheint, Frameworks wie MVVM Light sind mehr Sicht zuerst konzentriert.
ja. Es gibt viele Frameworks MVVM-Anwendungen zu erstellen:
MVVM Light
und Caliburn.Micro
. Sie sind relativ einfach und leicht. Es würde nicht lange dauern, um aufzustehen.
Prism
ist wirklich cooler Rahmen. Es wird jedoch mehr Zeit benötigen, um zu lernen, als die oben genannten Rahmenbedingungen. Sie können jedoch wirklich eine große Anwendung bauen, die auf Module aufgeteilt ist.
Catel
ist nicht nur ein MVVM-Toolkit. Es enthält auch Benutzersteuerelemente und viele Enterprise-Bibliotheksklassen.
Update:
Meine Meinung ist, dass es nicht ihre Sache dieser Frameworks ist ViewModel First
oder View First
Ansatz zu betonen und diese Frameworks schafft keine Probleme, wenn Sie ViewModel First
oder View First
Ansatz. Auch wenn Sie ViewModel First
Ansatz gewählt haben und Sie diesen Ansatz auf View First
Ansatz ändern möchten, dann wird es keine Probleme geben.
Aus meiner Sicht sind diese Rahmenbedingungen für diese Ziele entwickelt:
Implementierung Vermeidung INotifyPropertyChanged
(nur verwenden integrierte Implementierungen (ViewModelBase
in MVVMLight und BindableBase
in Prism))
Vereinfachte Wechselansichten zwischen Modulen (in Prism ist IRegion.RequestNavigate(...);
)
Kommunizieren zwischen viewModels
(IEventAggregator
in Prism und MessengerInstance.Send(payload, token);
in MVVMLight). Sie müssen Ihren Code nicht schreiben. In diesen Frameworks sind bereits getestete Codes für Sie erstellt.
Dependency Injection. Sie können Implementierungen von Views
von ihrer ViewModels
über die Schnittstelle entkoppeln.
und die obige Liste ist nicht vollständig
Aber welche von ihnen betonen VM zuerst? –
Caliburn Micro zuerst gut für VM funktioniert. Ich weiß nicht genug über die anderen. –
Warum würden Sie jemals einen Viewmodel-First-Ansatz benötigen? Ein Model-First-Ansatz (d. H. Domain Driven Design) kann ich verstehen, und tatsächlich benutze ich das immer mit MVVM Lite. Aber Viewmodel-zuerst? Wenn Sie feststellen, dass es sich nicht gut mit Ihrer Business-Schicht und Ihrer DAL-Schnittstelle deckt, werden Sie nur auf Schwierigkeiten stoßen. –
@MarkFeldman - hier geht es nicht um das Modelldesign, sondern um die (grafische) Zusammensetzung. –