• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/4

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

4 Cards in this Set

  • Front
  • Back
Verantwortung des Controllers im MVC Pattern
Controller sind dafür verantwortlich eingehende Requests zu verarbeiten, Operationen auf dem Domain-Model auszuführen und eine View auszuwählen, die dem Nutzer präsentiert werden soll.

Controller enthalten keinen Code zu Business Logik (gehört ins Model!) und Datenspeicherung und auch keinen Code zum Generieren von Views.

In den Controllern ist die Anwendungslogik von allem anderen getrennt. (Separation of Concerns)

Der Controller soll sie Struktur der Models ebenso wenig kennen wie die Struktur der Views, so dass diese jeder Zeit ausgetauscht werden können, ohne dass an den Controllern etwas verändert werden muss. Die Controller kommunizieren mit diesen Komponenten ausschließlich über das "Interface" der Models (Klassenname, Konstruktor und sonstige öffentliche Methoden) und dem Namen und dem zugehörigen Model der Views.
Die Controller-Klasse
Controller in ASP.NET MVC sind C#-Klassen, die das Interface IController mit einer einzigen Methode "void Execute(RequestContect requestContext)" implementieren.

Bei Eingang eines neuen Requests belegt das ASP.NET Routing System die Variablen "controller" und "action" mit den entsprechenden Werten und im RourData ablegt. Das MVC Framework führt daraufhin die Execute-Methode des zugehörigen Controllers aus.

Das MVC Framework bietet eine Implementierung des Controller-Interfaces an: die Klasse "Controller". Die Execute-Methode dieser Implementierung enthält die gesamte Logik, die das Ausführen von Action-Methoden im Controller (inklusive der Rückgabe von ActionResults und der Verwendung von Filtern) nach den MVC-Konventionen ermöglicht.

In der Regel wird man deshalb beim Anlegen eines neuen Controllers diese von der Klasse "Controller" ergeben lassen, um die beschriebenen Funktionalitäten verwenden zu können.
Input to a Controller
Informationen über den aktuellen Request können aus den Context Objects bezogen werden z.B. RouteData.Value["city"] oder Request.Url.
Output of a Controller
...