Der Service Core_View
Der Service Core_View ist für die Ausgabe der
ausgeführten Module zust&auuml;ndig. Dabei wird die parallele Ausgabe auf
mehrere Ausgabemedien durch mehrere Module unterstützt. Während Modul
A also seine Ausgabe zB. als E-Mail verschicken soll, kann
gleichzeitig Modul B eine normale HTML-Datei an den User weiterleiten.
Natürlich werden zusätzlich verschiedene Styles unterstützt.
Core_View verwaltet dabei global alle Ausgaben. Die Module selbst
kriegen nicht einmal etwas davon mit, wie sie ausgegeben werden sollen.
Core_View kümmert sich von vorne bis hinten um die Ausgabe. Natürlich
stehen die bei der Ausführung der Module gewonnenen Daten dabei zur
Verfügung, um ein vernünftiges Output generieren zu können.
Schießlich ergibt sich daraus für Core_View folgendes
Schema:
Vom Service Core_Load wird nur abgefragt, welche Module geladen
sind, damit jedem Ausgabemedium die Ausgabe eines bestimmten Moduls zugewiesen
werden kann.
Screens
Ein Screen repräsentiert schlicht ein Ausgabemedium. Screens
werden direkt von Core_View verwaltet und müssen immer von der Klasse
Core_Screen erben. Zu den Aufgaben eines Screens
gehört vorallem die Aufbereitung der Ausgabe für das entsprechende
Medium.
Weiterhin muss der Screen einen passenden Style finden und die
Ausgabe an sich durchführen. Dies wird jedoch bereits von Core_Screen übernommen, so dass eine
Neuimplementierung in den Kindern der Klasse natürlich nicht notwendig ist.
Styles
Ein Style ist eine Sammlung einzelner Templates. Er muss eine
Instanz von Core_Style (oder eines Kindes davon)
sein. Von meist mehreren Styles, die einem Screen theoretisch zur Verfügung
stehen, wählt dieser genau einen aus (zB. entsprechend einer Angabe durch
den User). Ein Style kann für mehrere Screens zur Verfügung stehen.
Templates
Ein Template schließlich repräsentiert eine bestimmte
Quelle. Sie müssen von Core_Template erben. Ein
Template kann selbst entscheiden, wie es den darunter liegenden Code
(zB. HTML) aufbereitet. Meistens wird es erweiterte Zugriffsmethoden und Hilfen
anbieten.