Frage

Ich habe den Begriff MVC (Model View Controller) hörte mit einer Tonne von Buzz warf in letzter Zeit, aber was wirklich ist es?

War es hilfreich?

Lösung

Sie können einen Blick auf nehmen wollen, was Martin Fowler hat über MVC, MVP und UI-Architekturen im Allgemeinen zu sagen, unter

Andere Tipps

Ich mag diesen Artikel von Martin Fowler. Sie werden sehen, dass MVC tatsächlich mehr oder weniger tot ist, streng genommen, in seiner ursprünglichen Domäne von Rich UI-Programmierung. Die Unterscheidung zwischen View und Controller findet keine Anwendung auf den meisten modernen UI-Toolkits.

Der Begriff scheint vor kurzem neues Leben in Web-Programmierung Kreisen gefunden zu haben. Ich bin mir nicht sicher, ob das, obwohl wirklich MVC ist, oder einfach nur wieder mit dem Namen für einige eng verwandte, aber auf subtile Weise verschiedene Ideen.

MVC ist ein Entwurfsmuster ursprünglich in den alten Tagen von smalltalk Pionierarbeit geleistet.

Das Konzept war, dass ein Modell würde Ihren Anwendungszustand und Logik darstellen und Controller würden behandeln IO zwischen „Ansichten“.

Eine Ansicht war eine Darstellung des Zustandes, in dem Modell. Zum Beispiel Ihr Modell ein Tabellendokument sein kann, und Sie können einen Blick haben, die es als eine Tabelle und eine Ansicht darstellt, die es als eine Pivot-Tabelle darstellt.

Moderne MVC mit gefälschtem MVC Web Junk verschmutzt sind, so lasse ich andere, die zu beantworten.

Wie der Tag auf Ihrer Frage heißt es ist ein Design-Muster. Aber das ist wahrscheinlich hilft Ihnen nicht. Im Grunde, was es ist, ist ein Weg, um Ihren Code in logische Gruppen zu organisieren, die die verschiedenen Teile getrennt halten und leicht modifizierbar.

Vereinfachung: Typ = Datenstruktur / Business Logic View = Ausgabeschicht (das heißt HTML-Code) Controller = Nachrichtenübertragungsschicht

Also, wenn Leute über MVC sprechen, was sie reden da Code in diese logische Gruppen aufzuteilen, dass sie sauber und strukturiert, und hoffentlich lose gekoppelt. Durch Einhalten dieses Entwurfsmusters sollten Sie in der Lage sein, Anwendungen zu erstellen, die es völlig in etwas anderes geändert haben könnte anzeigen, ohne jemals Ihren Controller oder das Modell zu berühren (das heißt von HTML RSS-schaltend).

Es gibt Tonnen und Tonnen von Tutorials gibt nur für Google es und ich bin sicher, dass Sie mindestens eine auftauchen werden, die es in Bezug zu erklären, die mit Ihnen klicken.

Hier ist eine naive Beschreibung von MVC: http: // www.devcodenote.com/2015/04/mvc-model-view-controller.html

Ein Ausschnitt:

Definition: Es ist ein Design-Muster, das eine Anwendung in mehrere Schichten von Funktionalität trennt

.

Die Schichten:

Modell Stellt Daten. Es fungiert als Schnittstelle zwischen der Datenbank und der Anwendung (als Datenobjekt). Es wird behandeln Validierungen, Verbände, Transaktionen usw.

Controller Es sammelt und verarbeitet Daten. Verarbeitet Code, der Datenauswahl und Datentransfer der Fall ist.

anzeigen Zeigt die Ausgabe an die Benutzer.

Wikipedia scheint es zu beschreiben, am besten so weit:

http://en.wikipedia.org/wiki/Model-view-controller

Model-View-Controller (MVC) ist ein architektonisches Muster in der Softwareentwicklung eingesetzt. Die erfolgreiche Anwendung des Musters isoliert Geschäftslogik von Benutzeroberfläche Überlegungen, in einer Anwendung führt, in dem es leichter ist, entweder das optische Erscheinungsbild der Anwendung oder die zugrunde liegenden Geschäftsregeln zu ändern, ohne die andere zu beeinflussen. In MVC, stellt das Modell die Informationen (Daten) von der Anwendung und die Geschäftsregeln verwendet, um die Daten zu manipulieren; die Ansicht entspricht Elemente der Benutzerschnittstelle, wie beispielsweise Text, Checkbox-Elemente und so weiter; und der Controller verwaltet Details die Kommunikation mit dem Modell von Benutzeraktionen wie Tastenanschläge und Mausbewegungen beteiligt

Die MVC oder Model-View-Controller-Benutzeroberfläche Paradigm wurde zuerst von Trygve Reenskaug des Xerox PARC beschrieben. In erschien zuerst in Byte Magazin Volumen in Druck 6, Nummer 8, August 1981.

MVC-Design-Muster:

4 Teile = Benutzer, View, Controller, Modell.

Benutzer:  -. Sieht in der Ansicht und nutzt der Controller

Modell:  -. Hält die Daten und aktualisiert das Modell, dass es neue Daten / Zustand ist

Ausblick:  -. Zeigt die Daten an, dass das Modell hat

Controller:  - nimmt der Benutzer die Anforderung Informationen zu erhalten oder eingestellt, kommuniziert dann entweder mit dem Anzeigen oder Modell, resp.  - it „wird“ über die Ansicht.  -. Es "Sets" über das Modell

Es ist eine Möglichkeit, die zugrunde liegende Funktionalität der Anwendung zu trennen (Modell) von der Art und Weise mit dem Benutzer interagiert (Ansicht). Die Steuerung koordiniert, wie das Modell und Ansicht miteinander reden.

Während es der letzte Schrei im Moment ist, ist es wichtig, sich daran zu erinnern, dass das Modell verhindert selbst genau zu bestimmen, in der Lage, wie sie ihre Daten dem Benutzer präsentiert wird, kann als eine negative Sache gesehen. Das offensichtlichste Beispiel ist mit HTML. Die ursprüngliche Absicht von HTML war, dass es aus der Sicht (gerendert Webseite) eine klare Trennung des Modells (HTML) wird über einen Controller (der Browser). Es hat solch ein Spiel gegen diese ursprüngliche Absicht, dass Browser kritisiert werden, wenn sie nicht eine Seite Pixel perfekt zu den Designern gewünschter Ansicht machen.

MVC ist eine Möglichkeit, ein Element der Benutzeroberfläche in 3 verschiedene Konzepte zu partitionieren. Das Modell ist die Daten, auf denen die Schnittstelle arbeitet. Die Ansicht ist, wie das Element dargestellt wird visuell (oder vielleicht hörbar?). Der Controller ist die Logik, die auf den Daten arbeiten.

Zum Beispiel, wenn Sie einen Text haben mögen, dass Sie in einer Benutzeroberfläche manipulieren. Eine einfache Zeichenfolge könnten die Daten darstellen. Die Ansicht könnte ein Textfeld sein. Der Controller ist die Logik, die Eingabe vom Benutzer übersetzt - sagen Zeichen oder Mauseingabe -. Und Änderungen an der zugrunde liegenden Datenmodell macht

Wie viele andere schon gesagt haben, ist MVC ein Design-Muster. Ich bringe einen meiner Mitarbeiter jetzt und haben es auf diese Weise erklärt:

M odelle - Die Datenzugriffsschicht. Dies kann den direkten Datenzugriff, Web Services sein, etc

V iews -. Die Präsentationsschicht Ihrer Anwendung

C ontrollers - Dies ist die Business-Logik für Ihre Anwendung

.

Dieses Muster verbessert testgetriebene Entwicklung.

scroll top