Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

ASP.NET MVC 5 Grundkurs

MVC-Grundlagen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
MVC steht für Model - View - Controller, auf Deutsch: Modell - Präsentation - Steuerung. Auf Basis dieses Konzepts lassen sich Webanwendungen gut in einzelne Komponenten aufteilen.
06:53

Transkript

Das Framework heißt ASP.NET MVC und über die zweite Hälfte des Namens, über dieses MVC, würde ich jetzt gerne sprechen. Wir sehen hier die MVC Erläuterungsgrafik direkt aus Wikipedia und die erklärt eigentlich relativ gut, worum es sich dabei dreht. Das Konzept MVC ist eigentlich relativ alt, ist also nichts Besonderes, Neues sozusagen. Das stammt ursprünglich aus den 1970er Jahren. Die erste Anwendung war vor allem im Desktopbereich für grafische Benutzeroberflächen. Mittlerweile ist es aber, vor allem im Web gang und gebe. Es gibt auch verschiedene andere Varianten von MVC, wo das C ersetzt wird durch andere Komponenten, aber wir schauen uns jetzt MVC an. Die Idee ist eine Art von Trennung, eine Applikation in verschiedene Komponenten und diese Komponenten haben jeweils eigene Verantwortlichkeiten und diese eigenen Verantwortlichkeiten werden dann über diese Komponenten geregelt, sodass diese unabhängig voneinander arbeiten können. Das hat natürlich mehrere Vorteile. Zum einen hat man pro Komponente eine Fokussierung auf die jeweilige Aufgabe, gibt also keine Vermischung und vor allem kann man diese Komponenten dann mehr oder minder unabhängig voneinander warten, pflegen und adaptieren. Die drei Komponenten, die MVC vorgibt, sind zum einen das M, das Model, dann das V, wie View und das C, der Controller. Und diese drei Komponenten haben jeweils unterschiedlichen Aufgaben. Ich will mal mit dem Controller anfangen. Controller ist, wie der Name schon sagt, eine Form von Steuerungseinheit. Und zwar haben wir hier unten den Nutzer, jetzt übertragen auf das Web, ist das also der Browser und der Browser ruft irgendeine URL auf und das landet letztendlich bei einem Controller. Das heißt, wenn wir dann auch später bei ASP.NET MVC eine URL aufrufen, wird ein entsprechender Controller aktiv, das ist einfach ein Stück Code, und dieser Controller ist dann dafür zuständig diese Anfrage zu behandeln und die korrekten Daten zurückzuliefern. Apropos Daten, da haben wir das M, das Model, das enthält zumindest sehr sehr häufig die Daten der Applikation. Über den Controller können dann diese Daten ja angefordert und auch verändert werden. Denn auch wenn wir zum Beispiel einen Eintrag in einer Datenbank löschen oder einen neuen Eintrag hinzufügen, läuft das ja bei einer Webapplikation auch über eine HTTP-Anfrage, das heißt, das wird ein Controller aktiv, in welcher Form auch immer, sehen wir dann alles und darüber wird dann das entsprechende Modell angepasst oder einfach drauf zugegriffen. Jetzt haben wir das C und das N, fehlt noch V, die View. Was ist eine View? View ist die Art Präsentationschicht. Man kann sich du das zunächst vereinfacht vorstellen als die HTML-Seite. Das heißt, wir haben eine HTML-Seite, diese HTML-Seite wird letztendlich an den Nutzer geschickt aber diese HTML-Seite enthält ja möglicherweise auch Daten aus der Datenbank oder was für ein Datenspeicher auch immer wir haben, könnten ja auch Session-Daten sein oder irgendeine andere Form von Information. Das heißt also, wir haben irgendwo HTML-Dateien, wir haben irgendwo Code, der Anfragen entgegennimmt und wir haben irgendwo die Datenbank, und das ist streng voneinander getrennt. Das vereinfacht vieles, Testen beispielsweise. Man braucht also, wenn man testet, nicht unbedingt eine richtige Datenbank, sondern man tauscht dieses Modell hier gegen irgendein kompatibles Stück Code aus, das dann einfach die Daten bevorratet und uns so ein Testen ermöglicht. Der Controller also kümmert sich um das Modell. Die Daten aus dem Modell werden dann an die View übergeben. In der View ist gar nicht so viel Logik drin in der Regel. Die einzige Logik ist Anzeige-Logik, also beispielsweise die View erhält ein Array aus Daten und ja dieses Array wird dann durchlaufen, klassisches "for-each", und einfach ausgegeben, formatiert diese Dinge. Also das ist die Art von Logik, die wir eigentlich in einer View erwarten. Und am Ende haben wir dann eine HTML-Seite, gefüllt mit Daten aus dem Modell und das geht dann wiederum an den Nutzer. Und so haben wir es eben wunderbar voneinander getrennt. Das Schöne an diesem View Modell hier beispielsweise ist auch, dass man Views austauschen kann. Stellen sich vor, Sie haben eine Webanwendung und diese Webanwendung soll sowohl auf Smartphones, als auch auf normalen Desktop- und Laptopsystemen dargestellt werden. Die Daten, die Sie darstellen, sind immer dieselben, aber das Layout und die UI sieht vielleicht auf einem Smartphone anders aus. Jetzt kann man zwar über CSS Techniken, Stichwort "Responsive Design", es irgendwie erreichen, dass man eine Anwendung hat und das CSS formt die dann so um, dass die überall gleich gut aussieht, ist aber nicht immer die beste Lösung, gerade für sehr kleine Bildschirmgrößen ist das häufig nicht unbedingt der Optimalweg. Was wir jetzt hier machen können, ist zu entscheiden, ob wir ein kleines Smartphone haben oder eine normale Bildschirmauflösung. Wie auch immer wir das machen, gibt ja vielleicht auch eine eigene mobile Website, aber die URLs, die Controllerlogik, das Modell, immer dasselbe. Das einzige, was sich ändert, ist die View, weil wir eben auf einem Smartphone beispielsweise, eine andere Form von View erhalten, wo vielleicht bisschen weniger Daten dargestellt werden, wo wir vielleicht weniger Elemente haben. Und so können wir diese View einfach austauschen. Das heißt, der Controller sagt, okay, nimm jetzt mal die mobile View und nicht die normale View. Und das erlaubt eben auch dieses Modell. Klassische Webentwicklung, Microsofts erste Schritte da waren ja ASP, Active Server Pages, die haben diese Trennung gar nicht so vorgesehen. Das heißt, in der Regel war es so, man hatte eine ASP-Seite und in der steckte alles, HTML-Markup, Code, Verbindung zur Datenbank, Berechnungen, alles zusammengemischt, sukzessive hat man sich dann da vorgearbeitet, dass diese Verantwortlichkeiten, dass die Präsentation und die Logik voneinander getrennt werden. Aber bis dahin war das eben alles ein Konglomerat, ein Gemisch und hier haben wir diese Trennung im Modell schon vorgegeben, und das Schöne an ASP.NET MVC ist, dass diese Trennung auch im Framework vollzogen ist, das heißt, ein Projekt auf Basis von ASP.NET MVC hat als Art Grundaufbau bereits ein paar Ordnerstrukturen vorgesehen und diese Trennung von Model, View und Controller auch auf Dateiebene ist quasi vorgegeben und dadurch hat man out-of-the-box einen relativ sauberen Aufbau der Applikation, ohne bereits selber etwas getan zu haben dafür. Der Nachteil ist natürlich, dass sich dadurch ein wenig die Komplexität erhöht. Selbst für "Hallo Welt" brauchen wir, na ja, möglicherweise mehrere Dateien, je nachdem wie wir es ausstaffieren. Aber wenn man sich einmal mit der Logik dahinter und dem System vertraut gemacht hat, dann fällt es einem sehr sehr einfach eine Applikation entsprechend weiterzuplanen und weiterzuentwickeln.

ASP.NET MVC 5 Grundkurs

Machen Sie sich mit den Grundlagen von ASP.NET MVC 5 vertraut und lassen Sie sich in dieser anspruchsvollen Einführung diesen Architekturansatz von Microsoft erläutern.

2 Std. 30 min (20 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!