Wenn wir Google mit dem Ausdruck "Was ist der Unterschied zwischen MVC-, MVP- und MVVM-Entwurfsmuster" durchsuchen, erhalten wir möglicherweise einige URLs, die den Unterschied zwischen MVC MVP- und MVVM-Entwurfsmuster theoretisch wie folgt diskutieren :
MVP
Verwendung in Situationen, in denen eine Bindung über einen Datenkontext nicht möglich ist. Windows Forms ist ein perfektes Beispiel dafür. Um die Ansicht vom Modell zu trennen, wird ein Präsentator benötigt. Da die Ansicht nicht direkt an den Präsentator gebunden werden kann, müssen Informationen über eine Schnittstelle (IView) an die Ansicht übergeben werden.
MVVM
Verwendung in Situationen, in denen eine Bindung über einen Datenkontext möglich ist. Warum? Die verschiedenen IView-Schnittstellen für jede Ansicht werden entfernt, was bedeutet, dass weniger Code gewartet werden muss. Einige Beispiele, bei denen MVVM möglich ist, umfassen WPF- und Javascript-Projekte mit Knockout.
MVC
Verwendung in Situationen, in denen die Verbindung zwischen der Ansicht und dem Rest des Programms nicht immer verfügbar ist (und Sie MVVM oder MVP nicht effektiv einsetzen können). Dies beschreibt klar die Situation, in der eine Web-API von den an die Client-Browser gesendeten Daten getrennt ist. Microsoft ASP.NET MVC ist ein großartiges Tool zum Verwalten solcher Situationen und bietet ein sehr klares MVC-Framework
Ich habe jedoch keinen einzigen Artikel gefunden, in dem der Unterschied theoretisch zusammen mit dem Beispielcode erörtert wird.
Es wäre wirklich schön, wenn ich einen Artikel bekommen würde, der den Unterschied zwischen diesen 3 Entwurfsmustern (MVC, MVP & MVVM) zusammen mit Code beschreibt.
Ich möchte den Quellcode von 3 ähnlichen CRUD- Apps in die Hände bekommen , die von diesen drei Entwurfsmustern (MVC, MVP & MVVM) implementiert wurden. Damit ich den Code durchgehen und verstehen kann, wie man Code für diese drei Entwurfsmuster (MVC, MVP & MVVM) schreiben soll.
Wenn es also einen solchen Artikel gibt, in dem erläutert wird, wie Code für diese drei Entwurfsmuster (MVC, MVP und MVVM) anders aussehen würde, leiten Sie mich bitte zu diesem Artikel weiter.