|
|
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| {{MVCS:Menü}}
| | #REDIRECT [[Model-View-Controller-Paradigma/Controller]] |
| [[Medium:MVCS-Prozess 01.png|gerahmt|rechts|Der MVCS-Prozess]]
| |
| =Definition (nach [[Kowarschick (MMProg)]])=
| |
| | |
| ([[Model-View-Controller-Service-Paradigma|MVCS]]-)[[Model-View-Controller-Service-Paradigma/Controller|Controller]] dienen zur Steuerung einer [[Anwendung]], die nach den [[Model-View-Controller-Service-Paradigma|MVCS-Paradigma]] realisert wurde. Dazu manipuliert der Controller
| |
| [[Model-View-Controller-Service-Paradigma/Model|Modell]]-Objekte und/oder aktiviert [[Model-View-Controller-Service-Paradigma/Service|Service]]-Objekte,
| |
| die ihrerseits Modell-Objekte manipulieren.
| |
| | |
| Häufig wird die [[Anwendungslogik]] nicht im [[Model-View-Controller-Service-Paradigma/Model|Modell]], sondern im Controller implementiert.
| |
| | |
| ==Aufgaben eines Controllers==
| |
| * Anforderungen, die vom Benutzer direkt oder mit Hilfe einer [[Model-View-Controller-Service-Paradigma/View|View]] an einen [[Model-View-Controller-Service-Paradigma/Controller|Controller]] weitergeleitet werden, werden von diesem aufbereitet und zur Bearbeitung an das [[Model-View-Controller-Service-Paradigma/Model|Modell]] und/oder geeignete [[Model-View-Controller-Service-Paradigma/Service|Services]] weitergereicht.
| |
| * Controller können auch Ereignisse verarbeiten, die nicht vom Benutzer, sondern von einem [[Model-View-Controller-Service-Paradigma/Model|Modell]] oder einem (meist anderen) Controller initiiert werden (wie z.B. ein das Ereignis „Spielzeit ist abgelaufen“).
| |
| | |
| Andere Arten der Kommunikation führt ein Controller nicht aus.
| |
| | |
| =Beispiele=
| |
| | |
| Tastatur-Controller fangen Tastatur-Ereignisse ab und ermitteln, welches Zeichen der Benutzer mit der gewählten Tastenkombination eingegeben hat.
| |
| Dies kann, wenn die zugehörige Programmiersprache dies nicht sauber unterstützt, sehr aufwendig sein,
| |
| da die Tastencodes nichts über die Zeichen aussagen, die auf der Tastatur aufgedruckt sind – die Zuordnung zwischen Tastencode
| |
| und Tasteninhalt hängt vom gewählten Tastaturlayout ab. Das so ermittelte Zeichen kann dann weiterverarbeitet werden.
| |
| | |
| Device-Controller fangen die Ereignisse von bestimmten [[Device]]s, wie USB-Geräten, Infrarot-Steuerungen, Mäusen etc. ab
| |
| und verarbeiten diese weiter.
| |
| | |
| Data-Input-Controller fangen die Daten, die ein Benutzer über eine View (wie z.B. ein HTML-Formular) eingibt, ab
| |
| und verarbeiten diese weiter.
| |
| | |
| Etc. pp.
| |
| | |
| =Quellen=
| |
| | |
| *[[Kowarschick, W.: Multimedia-Programmierung]]
| |
| *[[Berkovitz, Joe (2006): An architectural blueprint for Flex applications]]
| |
| | |
| =Siehe auch=
| |
| * [[Model-View-Controller-Paradigma/Controller|Controller (MVC)]]
| |
| * [[View-Controller-Logic-Service-Data-Paradigma/Controller|Controller (VCLSD)]]
| |
| | |
| [[Kategorie:MVC]]
| |
| [[Kategorie:Glossar]]
| |