Model-View-Controller-Paradigma/Controller: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
=Definition (nach [[Kowarschick (MMProg)]])=
=Definition (nach [[Kowarschick (MMProg)]])=


([[Model-View-Controller-Paradigma|MVC]]-)[[Model-View-Controller-Paradigma/Controller|Controller]] dienen zur Steuerung einer [[Anwendung]], die nach den [[Model-View-Controller-Paradigma|MVC-Paradigma]] realisert wurde. Dazu manipuliert der Controller
([[Model-View-Controller-Paradigma|MVC]]-)[[Model-View-Controller-Paradigma/Controller|Controller]] dienen zur Steuerung einer [[Anwendung]], die nach den [[Model-View-Controller-Paradigma|MVC-Paradigma]] realisert wurde. Dazum nimmt Eingaben aus verschiedensten Quellen entgegen (z.B. Sensor-Daten oder Daten, die ein Benutzer über eine beliebige Benutzer-Schnittstelle wie eine Tastatur oder eine Maus eingibt) und leitet diese bereinigt und normalisiert an ein [[Model-View-Controller-Paradigma/Model|Modell]] weiter.
[[Model-View-Controller-Paradigma/Model|Modell]]-Objekte.


Im Allgemeinen wird die [[Anwendungslogik]] im Controler unf nicht im [[Model-View-Controller-Paradigma/Model|Modell]] implementiert.


==Aufgaben eines Controllers==
Ein Controller kann weitere Aufgaben übernehmen:
* Anforderungen, die vom Benutzer direkt oder mit Hilfe einer [[Model-View-Controller-Paradigma/View|View]] an einen [[Model-View-Controller-Paradigma/Controller|Controller]] weitergeleitet werden, werden von diesem aufbereitet und zur Bearbeitung an das [[Model-View-Controller-Paradigma/Model|Modell]] weitergereicht.
 
* Controller können auch Ereignisse verarbeiten, die nicht vom Benutzer, sondern von einem [[Model-View-Controller-Paradigma/Model|Modell]] oder einem (meist anderen) Controller initiiert werden (wie z.B. ein das Ereignis „Spielzeit ist abgelaufen“).
* Umsetzung der Komponentenlogik
* Sofern es keine speiellen [[View-Controller-Logic-Service-Data-Logic-Paradigma/Logic|Logik-Module]] gibt, wird im Controller auch die Anwendungslogik realisiert (siehe [[View-Controller-Logic-Service-Data-Paradigma|VCLSD-Paradigma]]).
* Verarbetung von Systemsignalen, wie z.B. einer Systemuhr (z.B. „Spielzeit ist abgelaufen“)


=Beispiele=
=Beispiele=

Version vom 6. Mai 2011, 13:02 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 4
(großteils überprüft)
Umfang: 3
(einige wichtige Fakten fehlen)
Quellenangaben: 4
(fast vollständig vorhanden)
Quellenarten: 4
(sehr gut)
Konformität: 4
(sehr gut)

Diese Bewertungen beziehen sich auf alle im nachfolgenden Menü genannten Artikel gleichermaßen.

gerahmt|rechts|Der MVC-Prozess

Definition (nach Kowarschick (MMProg))

(MVC-)Controller dienen zur Steuerung einer Anwendung, die nach den MVC-Paradigma realisert wurde. Dazum nimmt Eingaben aus verschiedensten Quellen entgegen (z.B. Sensor-Daten oder Daten, die ein Benutzer über eine beliebige Benutzer-Schnittstelle wie eine Tastatur oder eine Maus eingibt) und leitet diese bereinigt und normalisiert an ein Modell weiter.


Ein Controller kann weitere Aufgaben übernehmen:

  • Umsetzung der Komponentenlogik
  • Verarbetung von Systemsignalen, wie z.B. einer Systemuhr (z.B. „Spielzeit ist abgelaufen“)

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 Devices, 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

Siehe auch