MVC Framework Tutorial für Anfänger: Was ist, Architektur & Beispiel

Was ist MVC Framework?

Der Model-View-Controller (MVC) Rahmen ist ein archiStrukturmuster, das eine Anwendung in drei logische Hauptkomponenten unterteilt: Modell, Ansicht und Controller. Daher die Abkürzung MVC. Jede archiDie Strukturkomponente wurde entwickelt, um spezifische Entwicklungsaspekte einer Anwendung zu behandeln. MVC trennt die Geschäftslogik- und Präsentationsschicht voneinander. Es wurde traditionell für grafische Desktop-Benutzeroberflächen (GUIs) verwendet. Heutzutage MVC archiDie Webtechnologie-Technologie ist für die Gestaltung von Webanwendungen und mobilen Apps beliebt geworden.

Geschichte von MVC

  • MVC archiDie Technologie wurde erstmals 1979 von Trygve Reenskaug diskutiert
  • Das MVC-Modell wurde erstmals 1987 in der Programmiersprache Smalltalk eingeführt.
  • MVC wurde erstmals 1988 in einem Artikel als allgemeines Konzept akzeptiert
  • In jüngster Zeit wird das MVC-Muster häufig in modernen Webanwendungen verwendet

Funktionen von MVC

  • Einfache und reibungslose Testbarkeit. Hoch testbares, erweiterbares und steckbares Framework
  • So entwerfen Sie eine Webanwendung archiDurch die Verwendung des MVC-Musters bietet es die volle Kontrolle über Ihren HTML-Code und Ihre URLs
  • Nutzen Sie vorhandene Funktionen von ASP.NET, JSP, Django usw.
  • Klare Trennung der Logik: Modell, Ansicht, Controller. Trennung der Anwendungsaufgaben viz. Geschäftslogik, Ul-Logik und Eingabelogik
  • URL-Routing für SEO-freundliche URLs. Leistungsstarkes URL-Mapping für verständliche und durchsuchbare URLs
  • Unterstützt Test Driven Development (TDD)

MVC Architektur

Hier ist die ausführliche archiStruktur des MVC-Frameworks:

MVC Architektur
MVC ArchiStrukturdiagramm

Drei wichtige MVC-Komponenten sind:

  • Modell: Es umfasst alle Daten und die zugehörige Logik
  • Ansicht: Präsentiert dem Benutzer Daten oder verwaltet die Benutzerinteraktion
  • Controller: Eine Schnittstelle zwischen Modell- und Ansichtskomponenten

Sehen wir uns diese Komponente im Detail an:

Anzeigen

Eine Ansicht ist der Teil der Anwendung, der die Darstellung von Daten darstellt.

Ansichten werden anhand der aus den Modelldaten gesammelten Daten erstellt. Eine Ansicht fordert das Modell auf, Informationen bereitzustellen, damit es dem Benutzer die Ausgabepräsentation präsentiert.

Die Ansicht stellt auch die Daten aus Diagrammen, Diagrammen und Tabellen dar. Beispielsweise enthält jede Kundenansicht alle UI-Komponenten wie Text boxEs, Dropdowns usw.

Controller

Der Controller ist der Teil der Anwendung, der die Benutzerinteraktion abwickelt. Der Controller interpretiert die Maus- und Tastatureingaben des Benutzers und informiert das Modell und die Ansicht über entsprechende Änderungen.

Ein Controller sendet Befehle an das Modell, um seinen Status zu aktualisieren (z. B. Speichern eines bestimmten Dokuments). Der Controller sendet außerdem Befehle an die zugehörige Ansicht, um die Darstellung der Ansicht zu ändern (z. B. Scrollen in einem bestimmten Dokument).

Modell

Die Modellkomponente speichert Daten und die zugehörige Logik. Es stellt Daten dar, die zwischen Controller-Komponenten oder einer anderen zugehörigen Geschäftslogik übertragen werden. Beispielsweise ruft ein Controller-Objekt die Kundeninformationen aus der Datenbank ab. Es manipuliert Daten und sendet sie an die Datenbank zurück oder verwendet sie zum Rendern derselben Daten.

Es reagiert auf die Anfrage der Ansichten und reagiert auch auf Anweisungen des Controllers, sich selbst zu aktualisieren. Es ist auch die unterste Ebene des Musters, die für die Datenpflege verantwortlich ist.

MVC-Beispiele

Sehen wir uns ein Beispiel eines Model View Controllers aus dem täglichen Leben an:

Beispiel 1

MVC-Beispiele

  • Nehmen wir an, Sie gehen in ein Restaurant. Sie werden nicht in die Küche gehen und Essen zubereiten, was Sie sicherlich zu Hause tun können. Stattdessen gehen Sie dorthin und warten, bis der Kellner kommt.
  • Nun kommt der Kellner zu Ihnen und Sie bestellen das Essen. Der Kellner weiß nicht, wer Sie sind und was Sie wollen, er hat nur die Einzelheiten Ihrer Essensbestellung aufgeschrieben.
  • Dann geht der Kellner in die Küche. In der Küche bereitet der Kellner Ihr Essen nicht zu.
  • Die Kochvorbereitungares dein Essen. Der Kellner erhält Ihre Bestellung zusammen mit Ihrer Tischnummer.
  • Kochen Sie dann das zubereitete Essen für Sie. Er verwendet Zutaten, um das Essen zu kochen. Nehmen wir an, Sie bestellen ein Gemüsesandwich. Dann braucht er Brot, Tomaten, Kartoffeln, Paprika, Zwiebeln, Bites, Käse usw., die er aus dem Kühlschrank bezieht
  • Der Koch übergibt das Essen abschließend dem Kellner. Jetzt ist es die Aufgabe des Kellners, dieses Essen aus der Küche zu bringen.
  • Jetzt weiß der Kellner, welche Speisen Sie bestellt haben und wie sie serviert werden.

In diesem MVC archiStrukturbeispiel,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

Sehen wir uns ein weiteres MVC-Modellbeispiel an:

Beispiel 2

MVC-Beispiele

Der Autoantriebsmechanismus ist ein weiteres Beispiel für das MVC-Modell.

  • Jedes Auto besteht aus drei Hauptteilen.
  • Ansicht = Benutzeroberfläche: (Schalthebel, Bedienfelder, Lenkrad, Bremse usw.)
  • Controller-Mechanismus (Motor)
  • Modell – Lagerung (Benzin- oder Dieseltank)

Ein motorbetriebenes Auto verbraucht Treibstoff aus dem Speicher, läuft aber nur über die genannten Benutzerschnittstellengeräte.

Beliebte MVC-Webframeworks

Hier ist eine Liste einiger beliebter MVC-Frameworks:

Vorteile von MVC: Hauptvorteile

Hier liegen die Hauptvorteile der Verwendung von MVC archiStruktur:

  • Einfache Codepflege, die leicht zu erweitern und zu erweitern ist
  • Die MVC-Modellkomponente kann separat vom Benutzer getestet werden
  • Einfachere Unterstützung für neue Kundentypen
  • Die Entwicklung der verschiedenen Komponenten kann parallel erfolgen.
  • Es hilft Ihnen, Com zu vermeidenplexdurch die Aufteilung einer Anwendung in drei Einheiten. Modell, Ansicht und Controller
  • Es verwendet nur ein Front-Controller-Muster, das Webanwendungsanforderungen über einen einzelnen Controller verarbeitet.
  • Bietet die beste Unterstützung für Testgetriebene Entwicklung
  • Es eignet sich gut für Web-Apps, die von großen Teams aus Webdesignern und -entwicklern unterstützt werden.
  • Bietet eine saubere Trennung der Belange (SoC).
  • Suchmaschinenoptimierung (SEO) freundlich.
  • Alle Klassen und Objekte sind unabhängig voneinander, sodass Sie sie separat testen können.
  • Das MVC-Entwurfsmuster ermöglicht die logische Gruppierung verwandter Aktionen auf einem Controller.

Nachteile der Verwendung von MVC

  • Es ist schwierig, dieses Modell zu lesen, zu ändern, Komponententests durchzuführen und wiederzuverwenden
  • Die Framework-Navigation kann einige Zeit dauernplex da es neue Abstraktionsebenen einführt, die von den Benutzern eine Anpassung an die Zerlegungskriterien von MVC erfordern.
  • Keine formelle Validierungsunterstützung
  • Erhöhte Komplexität und Ineffizienz von Daten
  • Die Schwierigkeit, MVC mit der modernen Benutzeroberfläche zu verwenden
  • Es besteht Bedarf an mehreren Programmierern, die parallel programmieren müssen.
  • Kenntnisse über mehrere Technologien sind erforderlich.
  • Pflege zahlreicher Codes im Controller

3-stufig Architecture vs. MVC Architektur

Parameter 3-Tier Architektur MVC Architektur
Kommunikation Diese Art von archiDas Strukturmuster kommuniziert niemals direkt mit der Datenschicht. Alle Schichten kommunizieren direkt über die Dreieckstopologie.
Anwendungsbereich 3-stufig: Wird häufig in Webanwendungen verwendet, bei denen der Client, die Datenebenen und die Middleware auf physisch getrennten Plattformen ausgeführt werden. Wird im Allgemeinen für Anwendungen verwendet, die auf einer einzelnen grafischen Workstation ausgeführt werden.

Zusammenfassung

  • Der MVC ist ein archiStrukturmuster, das eine Anwendung in 1) Modell, 2) Ansicht und 3) Controller unterteilt
  • Modell: Es umfasst alle Daten und die zugehörige Logik
  • Ansicht: Präsentiert dem Benutzer Daten oder verwaltet die Benutzerinteraktion
  • Controller: Eine Schnittstelle zwischen Modell- und Ansichtskomponenten
  • MVC archiDie Technologie wurde erstmals 1979 von Trygve Reenskaug diskutiert
  • MVC architecture in Java ist ein hochgradig testbares, erweiterbares und steckbares Framework
  • Einige beliebte MVC-Frameworks sind Rails, Zend Framework, CodeIgniter, Laravel, Fuel PHP usw.