MVVM - Vorteile

Das MVVM-Muster ist letztendlich die moderne Struktur des MVC-Musters, daher ist das Hauptziel immer noch dasselbe, eine klare Trennung zwischen Domänenlogik und Präsentationsschicht bereitzustellen. Hier sind einige der Vor- und Nachteile des MVVM-Musters.

Der Hauptvorteil besteht darin, eine echte Trennung zwischen Ansicht und Modell zu ermöglichen, die über das Erreichen einer Trennung hinausgeht, und die Effizienz, die Sie dadurch erzielen. In Wirklichkeit bedeutet dies, dass Ihr Modell, wenn es geändert werden muss, einfach geändert werden kann, ohne dass die Ansicht dies erfordert, und umgekehrt.

Es gibt drei wichtige Schlüsselaspekte, die sich aus der Anwendung von MVVM ergeben:

Wartbarkeit

  • Eine saubere Trennung verschiedener Arten von Code sollte es einfacher machen, auf einen oder mehrere dieser detaillierteren und fokussierteren Teile einzugehen und Änderungen vorzunehmen, ohne sich Sorgen machen zu müssen.

  • Das heißt, Sie können agil bleiben und schnell auf neue Releases umsteigen.

Testbarkeit

  • Mit MVVM ist jeder Code detaillierter und wenn er richtig implementiert wird, befinden sich Ihre externen und internen Abhängigkeiten in separaten Codeteilen von den Teilen mit der Kernlogik, die Sie testen möchten.

  • Das macht es viel einfacher, Unit-Tests gegen eine Kernlogik zu schreiben.

  • Stellen Sie sicher, dass es beim Schreiben richtig funktioniert und auch dann weiter funktioniert, wenn sich die Wartungsarbeiten ändern.

Erweiterbarkeit

  • Aufgrund der sauberen Trennungsgrenzen und der detaillierteren Codeteile überschneidet es sich manchmal mit der Wartbarkeit.

  • Sie haben eine bessere Chance, eines dieser Teile wiederverwendbarer zu machen.

  • Es hat auch die Möglichkeit, neue Codeteile, die ähnliche Aktionen ausführen, an den richtigen Stellen in der Architektur zu ersetzen oder hinzuzufügen.

Der offensichtliche Zweck des MVVM-Musters ist die Abstraktion der Ansicht, wodurch der Umfang der Geschäftslogik im Code-Behind reduziert wird. Im Folgenden sind jedoch einige andere solide Vorteile aufgeführt:

  • Das ViewModel ist einfacher zu testen als Code-Behind- oder ereignisgesteuerter Code.
  • Sie können es ohne umständliche Automatisierung und Interaktion der Benutzeroberfläche testen.
  • Die Präsentationsschicht und die Logik sind lose miteinander verbunden.

Nachteile

  • Einige Leute denken, dass MVVM für einfache Benutzeroberflächen übertrieben sein kann.
  • Ebenso kann es in größeren Fällen schwierig sein, das ViewModel zu entwerfen.
  • Das Debuggen wäre etwas schwierig, wenn wir komplexe Datenbindungen haben.