Sie sind hier: Startseite | Wissen
Werbung
Begriff Model View ViewModell
Abkürzung MVVM
Eintrag zuletzt aktualisiert am 06.12.2011

 Zur Stichwortliste unseres Lexikons

Was ist Model View ViewModell?

Model View ViewModell (MVVM) ist eine Variante des Model-View-Controler (MVC)-Konzeptes zur Trennung von Layout und Programmcode. MVVM wird in der Windows Presentation Foundation (WPF) und Microsoft Silverlight angewendet. Dabei erhält die in XAML gestaltete Benutzeroberfläche (View) alle Daten durch Datenbindung und der Programmcode erhält alle Aktionen der Benutzeroberfläche mit Hilfe sogenannter Commands. MVVM realisiert eine klare Kompetenztrennung und eine lose Kooplung zwischen Benutzerschnittstelle und Benutzerschnittstellensteuerung.

Hintergrund


Microsoft hat für WPF und Silverlight eine Anpassung des Model-View-Controller (MVC)-Entwurfsmusters erschaffen, das Model-View-ViewModell (MVVM) genannt wird. Model und View entsprechen dabei der Bedeutung im klassischen MVC-Entwurfsmuster. Das ViewModel kann als eine spezielle Implementierungsform eines Controllers gesehen werden, das die Aufgabe hat, die im Modell enthaltenen Informationen in einer Form aufzubereiten („adaptieren“), die die Datenbindungstechniken in WPF und Silverlight direkt nutzen können. Das ViewModel hat auch die Aufgabe, sogenannte Commands zu implementieren, die an Ereignisse der Benutzeroberfläche gebunden werden. Das oberste Ziel von MVVM ist es, die Arbeit von Grafiker/Designern (die Views erstellen) und die Arbeit der Entwickler (die Models und ViewModels erstellen) zu trennen. Ein View enthält in reinen MVVM-Muster keinen Programmcode, sondern besteht nur als XAML-Markup.

Vorteile
1. Bessere Trennung der Arbeit des Oberflächengestalters und des Entwicklers
2. Bessere Testbarkeit der Oberfläche (ohne Klickfolgen, stattdessen mit codebasierten Unit Tests)
3. Leichtere Austauschbarkeit des Uis

Nachteile
1. Hoher Mehraufwand im Vergleich zur klassischen Programmierung mit dem Code-Behind-Modell und Ereignissen
2. MVVM wird bisher nur sehr unzureichend durch Werkzeuge unterstützt.

Versuche, diese Situation zu verbessern
http://www.caliburnproject.org/
http://www.galasoft.ch/mvvm/getstarted/
http://www.calciumsdk.net/
http://wpfonyx.codeplex.com/

Beratung & Support:

Schulungen zu diesem Thema:

 Model-View-ViewModel (MVVM)-Pattern mit XAML für WPF und/oder Universal Windows Platform (UWP) Apps
 knockout.js - Model-View-ViewModel (MVVM) mit JavaScript
 Microsoft Silverlight 2.0/3.0/4.0/5.1
 Single-Page-Web-Applications (SPAs) entwickeln mit HTML5/CSS3 und JavaScript (oder TypeScript)
 Extensible Application Markup Language (XAML)
 JavaScript für .NET-Entwickler: Umstieg von .NET/C#/Visual Basic auf HTML 5, CSS und JavaScript zur Entwicklung moderner Webanwendungen
 Modulare Softwarearchitektur mit .NET: Modularisierung, Lose Kopplung, Austauschbarkeit und Erweiterbarkeit von .NET-Anwendungen
 Objektorientierte Entwurfsmuster (Design Pattern) mit .NET (C#, Visual Basic .NET, C++/CLI)
 Silverlight 5.1 - Die Neuerungen für Umsteiger von Silverlight 4.0
 Moderne Web-Anwendungen mit ASP.NET MVC, WebAPI, HTML5/CSS3 und JavaScript-/TypeScript-Frameworks
 Windows Presentation Foundation (WPF) - Basiswissen
 Windows Presentation Foundation (WPF) - Aufbauwissen
 Windows Presentation Foundation (WPF) für typische Geschäftsanwendungen
 .NET Akademie: Windows-Desktop-Anwendungen mit der Windows Presentation Foundation (WPF) 4.7 (3-Tages-Agenda des öffentlichen Seminars)
 Prism - Composite UI Framework für XAML (WPF, Windows Apps und Xamarin Forms)
 Kendo UI - HTML5/JavaScript-Webanwendungen mit Progress/Telerik Kendo UI
 .NET-Softwarearchitektur (Architektur von .NET-Anwendungen)
 Windows Presentation Foundation (WPF) - Architektur
 AngularJS 1.x - Basiswissen
 Anfrage für eine individuelle Schulung zum Thema Model View ViewModell;MVVM  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema:

 Alle unsere aktuellen Fachbücher