Magento 2 ist Model View, View Model System und nicht MVC – erklärt
Veröffentlicht: 2017-10-04Die Veröffentlichung von Magento 2 hat die Art und Weise, wie Entwickler Code für eine Website planen und schreiben, drastisch verändert. Magento bietet Tausenden von Händlern auf der ganzen Welt eine einwandfreie E-Commerce-Plattform, um ihre Produkte einfach einem breiteren Publikum zugänglich zu machen. Magento 2 entspricht der bemerkenswerten Architektur, die Händler seit langem verwenden.
Führende E-Commerce-Plattformen wie GlassesUSA.com, auf denen Sie Brillen online kaufen können, verwenden beispielsweise Magento. Laut dem Team von GlassesUSA hat Magento seine Website leicht skalierbar gemacht, um den unterschiedlichen Geschäftsanforderungen gerecht zu werden, die sich täglich weiterentwickeln. Angesichts der sich ändernden Marktdynamik und der ständig wachsenden Kundenbasis war die Einführung von Magento eine der wichtigsten Entscheidungen. Dies hat sich positiv ausgewirkt und die Ausfallzeiten für die Wartung der Website auf nahezu Null reduziert. Sie müssen lediglich ein Modul hinzufügen oder ändern, um die gewünschte Änderung auf ihrer Website widerzuspiegeln, ohne die Geschäftskontinuität oder die Benutzererfahrung zu beeinträchtigen
Das architektonische Design von Magento wurde von Entwicklern erstellt, die eine Art Quellcode zur Verfügung stellen, der leicht an unternehmensspezifische Anforderungen angepasst werden kann. Es ist die Schönheit der Architektur, die es Entwicklern und Händlern ermöglicht, Module hinzuzufügen und die Funktionalität eines Magento eCommerce-Themes zu erweitern.
Eine Mehrheit der Plattformen erfordert eine Änderung des Kerncodes zur Personalisierung des Endprodukts, aber Magento geht weit über die üblichen Probleme hinaus. Das Hinzufügen einer Option oder Funktionalität wird durch die Installation eines Magento-Plugins erleichtert. Wenn Sie beispielsweise strukturierte Snippets zu Ihren Produktseiten hinzufügen müssen, kann eine einfache Installation der Magento Rich Snippets-Erweiterung oder einer ähnlichen Anwendung die Arbeit erledigen. Es ist nicht erforderlich, den Code zu ändern und die zusätzlichen Produktinformationen separat auf jeder Zielseite einzufügen.
Das architektonische Design kommt den Verkäufern und Administratoren von E-Commerce-Websites zugute, um neue Funktionen einfach anzupassen, zu aktualisieren und hinzuzufügen. Lassen Sie uns einige der Architekturmodelle besprechen, bevor wir Magentos Marke kommentieren.
Verwandter Beitrag: So bearbeiten und löschen Sie Bestellungen in Magento 2
MVC-Modell (Model View Controller).
MVC ist eine Designanwendung, die den Zugriff auf Daten durch das Modell aufteilt, das Frontend mit der Ansicht unterscheidet, die Geschäftslogik durch einen Controller. Dieses Entwurfsmuster wurde in den 1970er Jahren eingeführt, um die Benutzeroberfläche vom Modell zu trennen. Als Ergebnis der MVC-Integration wird es einfacher, eine Anwendung zu reparieren, zu warten und zu testen. Das Kernthema des Entwurfsmusters ist die Aufteilung einer Anwendung in drei architektonische Aspekte, die das Modell, die Ansicht und den Controller umfassen.
Das Modell symbolisiert die Geschäftslogik einer Anwendung durch eine Reihe von Klassen. Es kann entweder ein Datenmodell oder ein Geschäftsmodell sein. Ein Modell zeigt auch, wie Daten modifiziert, geändert oder manipuliert werden.
Die Ansicht ist die Benutzeroberfläche oder das Frontend einer Anwendung. Dazu gehören UI-Komponenten wie jQuery, CSS, HTML usw. Es zeigt die Daten, die es vom Controller der Anwendung erhält, als Ergebnisinformationen an. View repliziert das Modell mit einer Benutzeroberfläche.
Der Controller ist für die Verarbeitung der Anfragen verantwortlich, die eine Anwendung vom Frontend erhält. Es ruft Informationen von den Endbenutzern über View ab, verarbeitet die Daten über Model und transzendiert sie dann zurück zum Frontend (View). Es funktioniert wie eine Brücke zwischen dem Modell und der Ansicht.
Vorgeschlagener Beitrag: Wie reiche ich eine Magento 2-Erweiterung auf dem Marktplatz ein?
Model View ViewModel (MVVM)-System
MVVM ist ein Architekturmuster, das in der Programmierung und Softwareentwicklung verwendet wird. Das System arbeitet mit einem bidirektionalen Datenbindungsmechanismus zwischen View und ViewModel. Dies vereinfacht die Automatisierung der Änderungen innerhalb des ViewModel, um es in der Ansicht anzuzeigen.
MVVM hat das Modell und die Ansicht, genau wie diese in MVC vorhanden sind, aber die Controller werden durch ViewModel ersetzt.
Ist Magento 2 ein MVVM-System oder MVC?
Magento 2 ist ein Model-View-ViewModel-System und kein von MVC strukturiertes Design mehr. Das MVC-Modell wurde in die vorherige Version integriert und scheint MVVM ziemlich ähnlich zu sein, aber MVVM ist viel reichhaltiger bei der Aufteilung der Ansicht und des Modells in einer Anwendung.
MVVM hat drei Schichten, die Model, View und ViewModel beinhalten. Die Geschäftslogik einer Erweiterung oder Anwendung wird als Modell dargestellt, während das Front-End durch die Ansicht dargestellt wird. Genauso wie Controller in einem MVC-Modell als Vermittler fungieren, schließt das ViewModel die Lücke zwischen dem Modell und der Ansicht in einem MVVM-System.
Eine für Magento 2 entwickelte Erweiterung soll die oben beschriebenen grundlegenden Designelemente enthalten. Dagegen wird die Rolle der Controller nicht vollständig aus Magento 2 entfernt, da sie für die Verwaltung des Benutzerflusses verantwortlich gemacht wird, der die Kommunikation des Systems über Benutzeranfragen umfasst.
Lassen Sie mich dasselbe anhand eines Beispiels erklären. Als Beispiel können Sie versuchen, eine neue URL einzurichten und eine HTML-Vorlage dafür zu erstellen. Wenn Sie in Magento 2 eine neue URL anfordern, z. B. http://magento.abc.com/hi/friend, sendet das MVVM-System die Anfrage an einen Controller, um sie genau wie in MVC zu verarbeiten. Es gibt jedoch einen großen Unterschied in der Verantwortung des Controllers in MVVM. Es wird dafür verantwortlich gemacht
- Festlegen des auszuwählenden Seitenlayouts
- Verwalten, um die Daten vor Benutzeranfragen zu bewahren
- Und teilen Sie dem System entweder mit, dass es mit HTTP antworten soll, oder
- Leiten Sie Benutzer zur nächsten oder vorherigen Seite
Durch das Einrichten einer Beispiel-URL können Sie feststellen, dass keine einzige Variable in der Ansicht erwähnt wird, da jede Ansichtskomponente dafür verantwortlich ist, Daten oder Informationen selbst aus der Modellebene, dem Objekt oder einer externen Quelle abzuleiten. Die MVVM lässt Magento eine HTML-Seite in mehrere Abschnitte aufteilen, die als Container bezeichnet werden. Diese Container besitzen Blöcke, die durch eine baumartige Struktur verbunden sind. Die Blöcke enthalten außerdem eine Phhtml-Vorlagendatei.
Das Magento-Blockobjekt dient als ViewModel, wenn Sie speziell über das MVVM-System sprechen. Der Objektblock ist in der Lage, die Geschäftsmodelle, Benutzeranforderungen zu scannen und zu lesen, Daten von externen Systemen zu erfassen usw. Die Vorlagendatei wird als Ansicht bezeichnet, die nur mit dem Blockobjekt zusammenarbeitet, das das Ansichtsmodell ist
Fazit
Magento 2 hat zu Recht die Entscheidung getroffen, auf das Model View ViewModel-System umzusteigen, da dies ein Gebot der Stunde war. Das MVVM-Modell geht einen Schritt weiter, indem es die Vorlagenlogik von der Geschäftslogik trennt. Es wird sicherlich spekuliert, dass das System Händlern und Endbenutzern die Arbeit erleichtern soll, während Entwickler es anfangs möglicherweise schwierig finden, eine Erweiterung für eine Website zu programmieren, die von Magento 2 und dem MVVM-System unterstützt wird.