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: Schema des View-Service
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.