Unterschied zwischen MVC und MVP

MVC gegen MVP

Model View Controller (auch als MVC bezeichnet) ist ein Muster architektonischer Natur, das speziell in der Softwareentwicklung verwendet wird. Dieses spezielle Muster wird verwendet, um die so genannte Domänenlogik zu isolieren. Dies ist einfach die Logik einer Anwendung für den Benutzer. Es ist isoliert von Eingabe und Präsentation (bekannt als GUI) und ermöglicht eine unabhängige Entwicklung.

Der Model View Presenter (auch als MVP bezeichnet) ist eine direkte Permutation der MVC. Hierbei handelt es sich um ein Softwaremuster (insbesondere ein Designmuster für Benutzerschnittstellen), das speziell zum Testen automatisierter Einheiten und zur Verbesserung der so genannten Trennung von Problemen in der Präsentationslogik entwickelt wurde. Die Trennung von Bedenken ist im Wesentlichen ein Prozess, bei dem ein Computerprogramm in verschiedene Merkmale unterteilt wird, die sich hinsichtlich ihrer Funktionsweise nicht überschneiden.

Der Modellteil der MVC ist im Wesentlichen ein Muster, das Daten über bestimmte Domänen darstellt, wobei die Daten zum Betrieb der Anwendung verwendet werden. Der Ansichtsabschnitt wandelt das Modell in eine für Benutzer geeignete Interaktion um - dies ist normalerweise ein Benutzeroberflächenelement. Schließlich empfängt der Controller-Teil am besten die Eingabe. Durch das Treffen von Entscheidungen für die im Modell gefundenen Objekte dient der Controller als Katalysator für die Antwort.

Der Modellteil des MVP definiert die Daten, die in der Benutzeroberfläche angezeigt werden sollen (oder bearbeitet werden sollen). Der Ansichtsabschnitt zeigt die im Modell definierten Daten an und sendet vom Benutzer angeforderte Befehle (so genannte Ereignisse) an den Moderator (der auf diese Daten reagiert). Der Moderator wirkt dann auf das Modell und die Ansicht des Modells ein. Als solches ist es in der Lage, Daten aus Repositorys (im Modell gefunden) abzurufen, die Daten fortzusetzen und zu formatieren, damit sie in der Ansicht leicht angezeigt werden können.

Es gibt verschiedene Varianten der MVC. Daher ist der Ablauf der Steuerung in einer sehr strengen Reihenfolge: Zuerst wird der Benutzer mit der Schnittstelle interagieren (z. B. durch Drücken einer Maustaste), dann kümmert sich die Steuerung um das Eingabeereignis und ändert es die entsprechende Benutzeraktion. Als Nächstes benachrichtigt der Controller das Modell darüber, was der Benutzer getan hat, was höchstwahrscheinlich dazu führt, dass das Modell seinen Status ändert (beispielsweise als Aktualisierung). Die Ansicht stellt dann eine Frage an das Modell, um die Benutzeroberfläche zu generieren. Schließlich wartet die Benutzeroberfläche auf Anweisungen, die den Zyklus neu starten.

Zusammenfassung:

1. MVC ist ein Architekturmuster, das Domänenlogik isoliert. MVP ist ein Nachkomme des MVC, mit dem automatisierte Einheiten getestet und die Trennung von Anliegen verbessert werden sollen.

2. In Bezug auf die MVC stellt das Modell die Daten dar, die Ansicht wandelt das Modell in eine benutzerfreundliche Interaktion um, und der Controller empfängt die Eingabe. In Bezug auf den MVP definiert das Modell die Daten, die Ansicht zeigt sie an, und der Moderator wirkt auf das Modell und seine Ansicht ein.