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

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
(Aufgaben eines Controllers)
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

1 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“)

2 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.

3 Quellen

4 Siehe auch