Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Moderne Webanwendungen mit Node.js und Express.js

Controller definieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Controller fungiert als Bindeglied zwischen Daten und Ansicht des Nutzer.

Transkript

Model-View-Controller ist ein bekanntes Prinzip moderner Softwareentwicklung, und auch inherenter Bestandteil vieler Dinge, die man mit express.js umsetzt. Was nun ein Model ist, die View und der Controller, und wie ich mein Projekt restrukturieren muss, demonstriere ich nun an Hand meiner REP-Anwendung. Zum jetzigen Zeitpunkt befindet sich mein Model, also die Daten, die meine Anwendung repräsentieren, innerhalb meiner Route. Ich habe hier das Objekt "posts", das die Daten beinhaltet, die am Ende des Tages auf der Website dargestellt werden. Die Darstellung selbst läuft also über die View ab, in dem Fall die "posts.jade" Datei. Dabei handelt es sich also um die View. In meinem aktuellen Konstrukt, ist die Route also sowohl Model als auch Controller, der entsprechend hier über die Rendermethode View und Model miteinander verbindet. Denn die Aufgabe des Controllers ist es immer, View und Model so zu verknüpfen, dass die Daten aus dem Model in die View hineinfließen. Da dieses Szenario etwas ungeschickt ist, lege ich nun einen zusätzlichen Ordner mit der Bezeichnung "Controllers" an. Diesen Controller kann ich ähnlich wie die Route bezeichnen, mit "posts.js" Da ich aktuell mein Model noch nicht seperiere, da ich noch keine extra Datenschicht habe, kopiere ich nun das "posts" Objekt in meinen Controller und entferne es aus der Route. Als nächstes bietet es sich an, ein Objekt zu etablieren, das Methoden bereitstellt, die die Route nutzen kann. Das Objekt "posts Controller" hat also eine Methode get posts um Posts entgegenzunehmen, und eine Möglichkeit, Posts einen Kommentar hinzuzufügen. Das Zurückgeben eines Posts ist nun äußerst simpel mit dem Statement "return posts". Auch das Hinzufügen eines Kommentars kann ich übernehmen, und nehme nun eine ID und einen Kommentar entgegen, suche in meinen Posts nach der ID und füge den Kommentar hinzu. Zu guter Letzt muss ich ein Modul deklarieren, mit "module exports" und hier dem "posts controller". In meinen Routen passe ich nun die Referenzen an. Und füge hier entsprechend den Controller hinzu. Die an die View übergebenen Werte für Posts übernehme ich nun aus dem Controller. Und auch das Hinzufügen eines Kommentars ist zukünftig die Aufgabe des Controllers. Ich überprüfe nun noch kurz die Funktionalität meiner Seite, nach diesen Änderungen. Ich sehe, dass alles wie gehabt funktioniert. Auf meinem Weg zu den Prinzipien von Model-View-Controller bin ich also meinem Posts JSON Objekt begegnet. Zum aktuellen Zeitpunkt ist die Datenpersistenz noch nicht gegeben und das Post JSON Objekt noch Teil meines Controllers. Meine View war von Anfang an als .jade Datei definiert und damit getrennt von der Anwendungslogik. An der Stelle musste ich noch aus den entsprechenden Routen, die aktuell meine Controller repräsentiert haben, die tatsächlichen Controller erstellen, die Model und View mit Hilfe der Anwendungslogik verbinden.

Moderne Webanwendungen mit Node.js und Express.js

Entwickeln Sie auf der Open-Source-Plattform Node.js kompakte und performante Webapplikationen und lernen Sie weiterführende Konzepte professioneller Webentwicklung kennen.

2 Std. 20 min (24 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.03.2015

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!