„Hallo, Amigo!“

„Hallo, Bilaabo!“

„Sie sind bereits ein guter Programmierer. Deshalb werden wir heute eine Lektion über MVC haben.“

„MVC steht für ModelViewController . Es handelt sich um ein architektonisches Entwurfsmuster für große Anwendungen, bei dem die Anwendung in drei Teile aufgeteilt ist.“

„Der erste Teil enthält die gesamte Geschäftslogik der Anwendung . Dieser Teil wird Modell genannt . Er enthält den Code, der alles ausführt, wofür die Anwendung erstellt wurde. Dieser Teil ist am wenigsten von den anderen abhängig.“

„Der zweite Teil enthält alles, was mit der Anzeige von Daten für den Benutzer zu tun hat . Dieser Teil wird als Ansicht bezeichnet . Er enthält den Code, der die Anzeige von Fenstern, Seiten, Nachrichten usw. steuert.“

„Der dritte Teil enthält den Code, der Benutzeraktionen verarbeitet . Alle Benutzeraktionen, die das Modell ändern sollen, sollten hier behandelt werden. Dieser Teil wird   Controller genannt .“

„Mit diesem Ansatz können Sie drei Dinge unabhängig voneinander erstellen:  die Logik des Programms (das Modell) , den Mechanismus zum Anzeigen der Programmdaten für den Benutzer (die Ansicht) und einen Handler für Benutzereingaben/-aktionen (den Controller) .“

„Anwendungen verfügen häufig über mehrere Ansichten . Das ist normal. Sie können in Excel genau dieselben Daten sowohl als Zahlen als auch als Diagramme anzeigen. In Spielen können Sie Ereignisse aus der Ego-, Third-Person- oder Kartenansicht und vielen anderen anzeigen . All dies sind unterschiedliche Ansichten für ein einzelnes Modell .

„Der gesamte Code, der entscheidet, was als Reaktion auf Benutzeraktionen am Modell geändert werden soll, wird im Controller gesammelt . Wenn der Benutzer beispielsweise beschließt, das Programm zu schließen, müssen Sie die Modelldaten in einer Datei auf der Festplatte speichern. Oder wenn der Benutzer neue Daten eingibt, müssen Sie diese dem Modell hinzufügen. Das Modell benachrichtigt dann alle Ansichten über die Datenänderungen, sodass sie nur den aktuellen Status der Daten anzeigen.“

"Sag das nochmal."

„Aus der Sicht eines Java-Entwicklers könnten wir sagen, dass Modell, Ansicht und Controller drei Gruppen von Klassen sind, wobei:“

a)  jeder Teil hat seinen eigenen Zweck;“

b)  die Beziehungen zwischen den Klassen einer einzelnen Gruppe sind sehr stark;“

c)  die Beziehungen zwischen Gruppen sind sehr schwach;“

d)  die Art und Weise, wie die Teile miteinander kommunizieren, ist stark reguliert.“

„Und hier ist eine andere Möglichkeit, es sich vorzustellen:

MVC – 1

„Das Modell ist der unabhängigste Teil des Systems . Es hängt nicht von der Ansicht oder dem Controller ab. Das Modell kann keine Klassen aus den Ansichts- oder Controllergruppen verwenden (!).“

„Die Hauptbeschränkung der Ansicht besteht darin , dass sie das Modell nicht ändern kann . Ansichtsklassen können auf das Modell zugreifen, um Daten zu erhalten oder Ereignisse zu abonnieren, Ansichtsklassen können das Modell jedoch nicht ändern.“

„Die Hauptbeschränkung des Controllers besteht darin, dass er keine Daten anzeigt . Der Controller verarbeitet Benutzeraktionen und ändert das Modell entsprechend.“

„Aber warum brauche ich das?“

„Die Tatsache, dass Sie dies jetzt nicht nutzen, bedeutet nicht, dass Sie es in naher Zukunft nicht nutzen werden. Sie studieren hier, um einen Job zu bekommen. Und selbst wenn sich dieses Wissen in der Zwischenzeit nicht als nützlich erweisen wird.“ Während des Studiums wird es auf jeden Fall nützlich sein, während man arbeitet.“

„Schließlich warten noch echte Projekte und Interviews auf dich…“

„Wir sind jetzt hier und reden miteinander, aber vielleicht werden Sie in einem Monat schon arbeiten.“

„Du hast vollkommen recht, Bilaabo. Ich werde dir aufmerksam zuhören.“

„Das MVC-Muster ist in der Anwendungsarchitektur sehr verbreitet. Sie müssen es kennen, damit Sie nicht plötzlich anfangen, Ansichtsklassen zum Modell hinzuzufügen, weil Sie es bequemer finden.“

„Das Wichtigste bei jedem Projekt ist seine Architektur.  Ihre Aufgabe in dieser Phase besteht nicht so sehr darin, eine gute Architektur zu schaffen, sondern vielmehr darin, zu lernen, die Architektur eines anderen zu verstehen. Sie müssen noch eine Weile wachsen Es dauert ein paar Jahre, bis Sie Ihr eigenes erstellen. Aber Sie müssen verstehen, was andere Leute erstellt haben. Sofort.“

„Wenn eine Anwendung eine Standardarchitektur verwendet, wird alles viel klarer. Wenn Sie die Architektur kennen, wissen Sie, wo sich Dinge befinden, wie alles interagiert, wie das Programm ungefähr funktioniert, wo eine benötigte Klasse hinzugefügt werden muss und wo nach der Ursache gesucht werden muss.“ ein Käfer."

„Aber wenn Sie mit den Standardansätzen der Architektur nicht vertraut sind, dann wird Ihnen selbst die beste Architektur nichts sagen. Sie werden sich wie ein Bauer aus dem Mittelalter fühlen, der ein neues Auto betrachtet. Ein Standardauto.“

„Ich verstehe. Danke für die interessante Lektion, Bilaabo.“

„Zum Schluss noch ein guter Link, den Sie sich unbedingt anschauen sollten:“

Link zu zusätzlichem Material