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

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
=Definition (nach [[Kowarschick (MMProg)]])=
=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|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. 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-Service-Paradigma/Model|Modell]] weiter.
[[Model-View-Controller-Service-Paradigma/Model|Modell]]-Objekte und/oder aktiviert [[Model-View-Controller-Service-Paradigma/Service|Service]]-Objekte,
die ihrerseits Modell-Objekte manipulieren.


Im Allgemeinen wird die [[Anwendungslogik]] im Controler unf nicht im [[Model-View-Controller-Service-Paradigma/Model|Modell]] implementiert.
Ein Controller kann weitere Aufgaben übernehmen:


==Aufgaben eines Controllers==
* Umsetzung der Komponentenlogik
* 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.
* Verarbeitung von Systemsignalen, wie z.B. einer Systemuhr (z.B. „Spielzeit ist abgelaufen“)
* 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“).
* 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]]).


=Beispiele=
=Anmerkung=
 
Man beachte, dass sich [[Model-View-Controller-Paradigma/Controller|Controller von MVC-Anwendungen]] und
Tastatur-Controller fangen Tastatur-Ereignisse ab und ermitteln, welches Zeichen der Benutzer mit der gewählten Tastenkombination eingegeben hat.
[[Model-View-Controller-Service-Paradigma/Controller|Controller von MVCS-Anwendungen]] nicht unterscheiden.
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
[[View-Controller-Logic-Service-Data-Paradigma/Controller|Controller von VCLSD-Anwendungen]]
und Tasteninhalt hängt vom gewählten Tastaturlayout ab. Das so ermittelte Zeichen kann dann weiterverarbeitet werden.
sind hingegen nie für die Komponentenlogik zuständig.
 
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=
=Quellen=


*[[Kowarschick, W.: Multimedia-Programmierung]]
*[[Kowarschick, W.: Multimedia-Programmierung]]
*[[Berkovitz, Joe (2006): An architectural blueprint for Flex applications]]


=Siehe auch=
=Siehe auch=
* [[Model-View-Controller-Paradigma/Controller|Controller (MVC)]]
* [[Model-View-Controller-Paradigma/Controller|Controller (MVC)]]
* [[View-Controller-Logic-Service-Data-Paradigma/Controller|Controller (VCLSD)]]
* [[Model-View-Controller-Service-Paradigma/Controller|Controller (MVCS)]]
* [[Model-View-Controller-Paradigma]] (insb. die dort angegebenen Quellen)


[[Kategorie:MVC]]
[[Kategorie:MVC]]
[[Kategorie:Glossar]]
[[Kategorie:Glossar]]

Version vom 6. Mai 2011, 16:55 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 MVCS-Prozess

Definition (nach Kowarschick (MMProg))

(MVCS-)Controller dienen zur Steuerung einer Anwendung, die nach den MVCS-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
  • Verarbeitung von Systemsignalen, wie z.B. einer Systemuhr (z.B. „Spielzeit ist abgelaufen“)

Anmerkung

Man beachte, dass sich Controller von MVC-Anwendungen und Controller von MVCS-Anwendungen nicht unterscheiden.

Controller von VCLSD-Anwendungen sind hingegen nie für die Komponentenlogik zuständig.

Quellen

Siehe auch