Sie sind hier:
Wissen
Top-Know-how seit 25 Jahren!
Telefon (Mo-Fr 9 bis 16 Uhr): 0201/649590-0 |
Kontaktformular
Alles auch online!
MENU
Medien
Übersicht
Lexikon/Glossar
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Downloads
Newsletter
.NET
Startseite
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Programmiersprachen
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: Model-View-ViewModell (MVVM)
Begriff
Model-View-ViewModell
Abkürzung
MVVM
Eintrag zuletzt aktualisiert am
13.03.2022
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
Datenbindung
stechniken 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/
Querverweise zu anderen Begriffen im Lexikon
XAML
Benutzerschnittstellensteuerung
Windows Presentation Foundation
WPF
MVC
Microsoft Silverlight
Model-View-Controler
MVC
Datenbindung
Beratung & Support:
Beratung/Consulting: Pattern einsetzen
Anfrage für Beratung/Consulting zu den Themen Model-View-ViewModell;MVVM
Gesamter Beratungsthemenkatalog
Technischer Support zum Themen Model-View-ViewModell;MVVM
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
Windows Presentation Foundation (WPF) für typische Geschäftsanwendungen
Kendo UI - HTML5/JavaScript-Webanwendungen mit Progress/Telerik Kendo UI
Single-Page-Web-Applications (SPAs) entwickeln mit HTML5/CSS3 und JavaScript (oder TypeScript)
.NET Akademie: Windows UI Library 3 (WinUI 3): Moderne Windows-Desktop-Anwendungen (3-Tages-Agenda des öffentlichen Seminars)
Konzepte moderner Web-, Mobil- und Cross-Platform-Anwendung
Xamarin: .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad), macOS und Windows (.NET Mobile/.NET for iOS/.NET for Android/.NET MAUI)
Modulare Softwarearchitektur mit .NET: Modularisierung, Lose Kopplung, Austauschbarkeit und Erweiterbarkeit von .NET-Anwendungen
Objektorientierte Entwurfsmuster (Design-Pattern/Architektur-Pattern) mit .NET (C#, Visual Basic .NET, C++/CLI)
Extensible Application Markup Language (XAML)
Windows Presentation Foundation (WPF) - Basiswissen
.NET Akademie: Windows-Desktop-Anwendungen mit der Windows Presentation Foundation (WPF) (3-Tages-Agenda des öffentlichen Seminars)
.NET Multi-Platform App UI (MAUI)
Prism - Composite UI Framework für XAML (WPF, Windows Apps und Xamarin Forms)
.NET-Softwarearchitektur (Architektur von .NET-Anwendungen)
Windows UI Library 3 (WinUI 3) - Basiswissen
Windows Presentation Foundation (WPF) - Architektur
Windows Presentation Foundation (WPF) - Aufbauwissen
Anfrage für eine individuelle Schulung zum Thema Model-View-ViewModell;MVVM
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Docker und die Containerwelt - Einstieg und Expertentipps rund um Docker-Container (shortcut)
Einblicke in C# 6.0 (shortcuts 181) Kindle Edition
WPF 4.5 und XAML: Grafische Benutzeroberflächen für Windows inkl. Entwicklung von Windows Store Apps
Alle unsere aktuellen Fachbücher
E-Book-Abo für nur 99 Euro im Jahr