Das MVC-Framework ist eine vorhersehbare Software Design Muster, das in drei Hauptkomponenten unterteilt und für viele Programmiersprachen geeignet ist. Das Ziel des MVC-Frameworks besteht darin, die Codebasis zu strukturieren und Anwendungsbelange in drei Komponenten zu unterteilen: View, Model und Controller.
Verständnis des MVC-Frameworks
Das MVC-Framework wurde als Reaktion auf die sich ändernde Natur der Webentwicklung entwickelt.
Traditionell umfassten Projekte lediglich das Hochladen statischer CSS-, HTML- und JavaScript-Dateien auf einen HTTP-Server.
Aber mit der wachsenden Popularität von Software-as-a-Service (SaaS) werden Anwendungen, die einst für den Desktop bestimmt waren, in Browser integriert.
In vielen Fällen sind diese Anwendungen groß und komplex. Auf JavaScript allein kann man sich nicht verlassen, um eine stabile Grundlage für Qualitätscode zu bieten.
Das MVC-Framework ermutigt Entwickler, strukturierteren JavaScript-Code zu schreiben Design Muster.
Von den bescheidenen Anfängen in grafischen Desktop-Benutzeroberflächen hat sich das Framework in der Entwicklung von Web- und mobilen Apps etabliert.
Das MVC-Framework kann eine hohe Benutzerinteraktion und Serverkommunikation in Echtzeit mit wartbarem und testbarem Code unterstützen.
Die drei Komponenten des MVC-Frameworks
Das Ziel des MVC-Frameworks besteht darin, die Codebasis zu strukturieren und Anwendungsbelange in drei Komponenten zu unterteilen:
View
Oder die Präsentation von gesammelten Daten aus Modell Daten in Form von Diagrammen, Tabellen oder Diagrammen.
Dazu gehören alle Kundenansichten der Benutzeroberfläche und ihrer Komponenten wie Dropdown-Menüs oder Textfelder.
Modell
Oder Daten, die von einem Programm verwendet werden.
Dies hat oft die Form einer Datenbank, kann aber auch ein Objekt, ein Symbol oder eine Videospielfigur darstellen.
Controller
Der Teil der Anwendung, der die Benutzerinteraktion in Form von Maus- und Tastatureingaben verarbeitet.
Der Controller akzeptiert Eingaben von Ansichten und Modellen, um eine entsprechende Aktualisierung bereitzustellen.
Ein Controller kann die aktualisieren Modell eines Videospielcharakters, indem ein Attribut wie z. B. Ausdauer geändert wird.
Die Ansicht wird dann aktualisiert, um die Änderung des Ausdauerattributs während des Spiels widerzuspiegeln.
Wann sollte das MVC-Framework verwendet werden?
Wie bereits erwähnt, sollte das MVC-Framework für alle Anwendungen verwendet werden, bei denen JavaScript Schwierigkeiten hat, die schwere Arbeit auf der Clientseite zu erledigen.
Sollten Sie jetzt aufgefordert werden, ein Geschäft eine Anwendung mit Fokus auf Serverseite bauen möchte, dann ist das MVC-Framework wahrscheinlich ungeeignet.
Dennoch können bestimmte Kriterien Entwicklern helfen festzustellen, ob das Framework für ihr Projekt geeignet ist.
Diese Kriterien umfassen Anwendungen, die:
- Erfordern eine asynchrone Verbindung zum Back-End.
- Sollte keine Funktionalität zum Neuladen der gesamten Seite erfordern, wie z. B. das Hinzufügen von Beitragskommentaren oder unendliches Scrollen.
- Rendern Sie dieselben Daten auf unterschiedliche Weise.
- Enthalten zahlreiche triviale Interaktionen, die Daten ändern, wie z. B. Schalter oder Schaltflächen.
- Anzeigen oder Bearbeiten von Daten im Browser selbst und nicht auf dem Server.
Bedenken Sie als Anhaltspunkt, dass viele beliebte Webanwendungen wie Google Docs, Gmail und Spotify alle oben genannten Kriterien erfüllen.
MVC-Framework-Beispiele
Hier ist ein Beispiel dafür, wie das MVC-Framework in einer realen Anwendung mit PHP implementiert wird.
Die fragliche App ist ein Währungsumrechner, der eine ausgewählte Währung – in diesem Fall Euro – in mehrere andere umrechnet und deren jeweiligen Wert anzeigt.
Lassen Sie uns vor diesem Hintergrund jede der drei Komponenten unten besprechen.
Das Modell
Zunächst ist es wichtig, das grundlegende Problem der Durchführung der Währungsumrechnung zu lösen. Die einfache Klasse „CurrencyConverter“ wird erstellt, die unterschiedliche Wechselkurse relativ zum EUR für AUD, GBP und USD speichert.
Die Klasse speichert auch einen bestimmten Betrag der Währung, der in diesem Fall 100 EUR beträgt. Diese Basis Wert ist nicht direkt zugänglich, kann aber dennoch verwendet werden, um 100 EUR in den Gegenwert der anderen drei Währungen umzurechnen.
Wenn ein App-Benutzer beispielsweise 100 AUD in EUR, GBP oder USD umtauschen möchte, könnte eine weitere Klasse erstellt werden. Beachten Sie, dass der Konverter ohne Kenntnis seiner Verwendung oder der Architektur, in die er integriert wird, funktioniert.
Die Aussicht
Da der Benutzer einen Währungsbetrag eingibt, den er umrechnen möchte, benötigt die App ein Eingabefeld und eine Schaltfläche zum Senden, um die Berechnung durchzuführen.
Der Entwickler glaubt auch, dass es sich lohnt, die jeweilige umzurechnende Währung anzuzeigen, sodass die Ansicht die Währung verstehen muss, mit der sie arbeitet. Anschließend schreibt der Entwickler den Code für ein Eingabefeld mit einem „Convert“-Button auf der rechten Seite und der umzurechnenden Währung auf der linken Seite.
Das Eingabefeld kennt den Konverter zu diesem Zeitpunkt noch nicht und zeigt daher nichts Sinnvolles an. Damit die Ansicht die Werte anzeigt, die in enthalten sind Modell, schreibt der Entwickler zusätzlichen Code und testet die Modell durch Eingabe von a Wert und prüfen, ob die Konvertierung durchgeführt wird.
Handhabung
Das Eingabefeld mit einer einzigen Währung und der Schaltfläche „Umrechnen“ ist nicht sehr nützlich – insbesondere, wenn der Benutzer den Wechselkurs für mehrere Währungen sehen möchte. Da Benutzerfreundlichkeit ein zentraler Grundsatz des MVC-Frameworks ist, kann die Ansicht mehrfach wiederverwendet werden, um zusätzliche Währungen anzuzeigen.
Nun stehen dem Entwickler vier Eingabefelder und vier Schaltflächen zur Verfügung. Jede Box ist mit AUD, GBP, USD und EUR gekennzeichnet.
Der Controller
Damit der Benutzer eine Währungsumrechnung durchführen kann, richtet der Entwickler seine Aufmerksamkeit auf die Schaltfläche „Konvertieren“. In diesem Fall muss der Verantwortliche was übernehmen Wert der Benutzer gibt ein und aktualisiert die Modell um es zu reflektieren.
Der Entwickler schreibt Code, der die zuvor in der Ansicht erstellten Formularfeldnamen verwendet. Der Controller wird mit einem als Argument übergebenen Array testbar und wiederverwendbar gemacht. Mit anderen Worten, der Controller wird einmal instanziiert und von allen vier Views verwendet.
Abschließend schreibt der Entwickler Code, um die App zu initialisieren. Dadurch kann der Benutzer eine Währungsumrechnung durchführen, indem er a eingibt Wert für eine der vier Währungen und klicken Sie auf „Konvertieren“.
Fallstudien
- E-Commerce-Plattform: Eine E-Commerce-Website kann das MVC-Framework verwenden, um die Präsentationsschicht (Ansicht) von der zu trennen Geschäft Logik (Controller) und die Datenbank (Modell). Dies ermöglicht einfache Aktualisierungen der Benutzeroberfläche, ohne die Kernfunktionalität zu beeinträchtigen.
- Kundenbeziehungsmanagement (CRM)-System: CRM-Systeme profitieren von MVC, da sie große Datenmengen und Benutzerinteraktionen verarbeiten. Das Modell verwaltet Kundendaten, der Controller verarbeitet Benutzerinteraktionen und die Ansicht zeigt Kundeninformationen und den Interaktionsverlauf an.
- Inventory Management System: In einem Unternehmen, das verwaltet InventarMit dem MVC-Framework können Sie den Überblick über Produkte (Modelle) behalten und verwalten Inventar Ebenen und Bestellungen verwalten (Controller) und den Mitarbeitern die Produktverfügbarkeit und den Bestellstatus anzeigen (Anzeigen).
- Finanzanalyse-Software: Finanzsoftware kann das MVC-Muster nutzen, um Datenspeicherung und -verarbeitung (Modell), Benutzereingaben und Berechnungen (Controller) sowie Finanzberichte und Dashboards (Ansicht) zu trennen.
- Online-Banking-Anwendung: MVC kann zum Erstellen sicherer Online-Banking-Anwendungen eingesetzt werden. Das Modell befasst sich mit Kontodaten, der Controller kümmert sich um Benutzertransaktionen und Sicherheit und die Ansicht zeigt Kontostände und Transaktionsverlauf an.
- Personalmanagementsystem (HRMS): Ein HRMS kann MVC verwenden, um Mitarbeiterdaten zu verwalten (Modell), Urlaubsanträge und Gehaltsabrechnungen zu verarbeiten (Controller) und Mitarbeitern Zugriff auf ihre Informationen, Leistungen und Leistungsbewertungen zu gewähren (Ansicht).
- Projektmanagement-Software: Projektmanagement-Tools können das MVC-Framework zum Speichern von Projektdaten (Modell) verwenden, Benutzern das Erstellen von Aufgaben und Zeitplänen (Controller) ermöglichen und Gantt-Diagramme und Fortschrittsberichte (Ansicht) bereitstellen.
- Hotelreservierungssystem: Im Gastgewerbe kann MVC dabei helfen, die Verfügbarkeit und Preise von Zimmern zu verwalten (Modell), Kundenreservierungen und Check-ins abzuwickeln (Controller) und den Kunden Zimmeroptionen und Preise anzuzeigen (Ansicht).
- Online-Lernplattform: Lernplattformen können MVC verwenden, um Kursinhalte und Studentendaten zu speichern (Modell), Kursanmeldungen und -aufgaben zu verwalten (Controller) und Studenten eine interaktive Schnittstelle für den Zugriff auf Kursmaterialien bereitzustellen (Ansicht).
- Supply Chain Management: Im Supply Chain Management kann das MVC-Framework bei der Nachverfolgung helfen Inventar Ebenen (Modell), verwalten Bestellungen und Lieferungen (Controller) und bieten Echtzeit-Einblick in Lieferkettenprozesse (Ansicht).
- Social Media Plattform: Social-Media-Anwendungen profitieren von MVC, um Benutzerprofile und Inhalte zu speichern (Modell), Benutzerinteraktionen und Inhaltsfreigabe zu verwalten (Controller) und personalisierte Feeds und Benutzerprofile anzuzeigen (Ansicht).
- Reisebuchungsportal: Reisewebsites können MVC verwenden, um Flug- und Hotelinformationen zu verwalten (Modell), die Buchungs- und Zahlungsabwicklung abzuwickeln (Controller) und Benutzern Reiseoptionen und Buchungsdetails anzuzeigen (Ansicht).
- Gesundheitsinformationssystem: Gesundheitssysteme können MVC nutzen, um Patientenakten und medizinische Daten zu speichern (Modell), Termine und Abrechnungen zu verwalten (Controller) und medizinischem Fachpersonal Zugriff auf Patienteninformationen zu gewähren (Ansicht).
- Online-Einzelhandelsanalyse-Dashboard: Im Einzelhandel kann MVC zum Sammeln und Sammeln eingesetzt werden analysieren Verkaufsdaten (Modell), ermöglichen Benutzern die Anpassung von Berichten und Abfragen (Controller) und zeigen Verkaufstrends und Leistungsmetriken an (Ansicht).
- Verwaltungssoftware für Rechtsfälle: Anwaltskanzleien können das MVC-Framework verwenden, um Fallinformationen und -dokumente zu speichern (Modell), Fallaktivitäten und Fristen zu verwalten (Controller) und Anwälten und Mandanten Zugriff auf Falldetails und -aktualisierungen zu gewähren (Ansicht).
Die zentralen Thesen
- Das MVC-Framework ist eine Software Design Muster mit drei Kernkomponenten: Ansicht, Modell, und Controller. Jede Komponente behandelt einen bestimmten Entwicklungsaspekt einer Anwendung.
- Das MVC-Framework wird in großen und komplexen Anwendungen verwendet, in denen JavaScript auf der Clientseite keine Grundlage für stabilen, hochwertigen Code bieten kann.
- Um festzustellen, ob das MVC-Framework für ihren Build geeignet ist, können Unternehmen eine Liste mit Kriterien konsultieren, die gängigen Webanwendungen wie Google Docs und Spotify gemeinsam sind.
Schlüssel-Höhepunkte
- Übersicht über das MVC-Framework:
- Das MVC-Framework ist eine Software Design Muster zur Strukturierung von Code in verschiedenen Programmiersprachen.
- Es unterteilt Anwendungsbelange in drei Hauptkomponenten: Ansicht, Modell und Controller.
- Das Ziel besteht darin, die Organisation, Wartung und Trennung von Belangen des Codes zu verbessern.
- Zweck und Herkunft:
- Das MVC-Framework wurde als Reaktion auf die Weiterentwicklung der Webentwicklung entwickelt.
- Es entstand aus der Notwendigkeit, komplexe Anwendungen zu verwalten und strukturierten JavaScript-Code zu ermöglichen.
- Ursprünglich in grafischen Desktop-Benutzeroberflächen verwendet, wurde es in der Web- und mobilen App-Entwicklung populär.
- Komponenten von MVC:
- Ansicht: Stellt die Darstellung der daraus abgeleiteten Daten dar Modell. Es enthält Benutzeroberflächenelemente wie Diagramme, Tabellen und Diagramme.
- Modell: Enthält die Daten der Anwendung. Dies kann eine Datenbank sein oder Objekte, Symbole, Zeichen usw. darstellen.
- Regler: Verarbeitet Benutzerinteraktionen wie Maus- und Tastatureingaben. Es aktualisiert die Modell und kommuniziert entsprechend mit der Ansicht.
- Eignung und Kriterien:
- MVC wird für Anwendungen empfohlen, bei denen JavaScript Schwierigkeiten hat, komplexe clientseitige Aufgaben zu bewältigen.
- Es ist nicht für Anwendungen geeignet, die sich auf die serverseitige Verarbeitung konzentrieren.
- Zu den Kriterien für die Verwendung von MVC gehören asynchrone Backend-Verbindungen, teilweises Neuladen von Seiten, unterschiedliche Darstellung von Daten, triviale Dateninteraktionen und clientseitige Datenmanipulation.
- Beispiele für MVC Framework:
- Zur Veranschaulichung der Implementierung von MVC wird eine Beispielanwendung für einen Währungsumrechner verwendet.
- Modell: Die Klasse „CurrencyConverter“ enthält Wechselkurse und Währungsbeträge zur Umrechnung.
- Ansicht: Elemente der Benutzeroberfläche wie Eingabefelder und Schaltflächen zur Währungsumrechnung.
- Regler: Verarbeitet Benutzereingaben und aktualisiert die Modellund interagiert mit der Ansicht zur Anzeige.
- Die zentralen Thesen:
- Das MVC-Framework organisiert Anwendungen in der Ansicht, Modellund Controller-Komponenten.
- Dies ist besonders nützlich für die Verwaltung komplexer Anwendungen, bei denen JavaScript allein möglicherweise nicht ausreicht.
- Kriterien wie asynchrone Verbindungen, teilweises Neuladen von Seiten und clientseitige Datenmanipulation helfen dabei, festzustellen, ob MVC für ein Projekt geeignet ist.
Verwandte Agile Business Frameworks
Feature-gesteuerte Entwicklung
Schnelle Anwendungsentwicklung
Weiter: MVP, Schlanke Leinwand, Gedränge, Design Thinking, VTDF-Framework.
Lesen Sie mehr: Geschäftsmodelle
Lesen Sie weiter: Business Analysis, Wettbewerbsanalyse, Kontinuierliche Innovation, Agile Methodologie, Lean Startup, Geschäftsmodellinnovation, Projektmanagement.
Hauptführer:
- Geschäftsmodelle
- Geschäftsstrategie
- Business Development
- Vertriebskanäle
- Marketing-Strategie
- Plattform-Geschäftsmodelle
- Netzwerkeffekte
Hauptfallstudien: