|
|
|
| | START | | KOMPONENTEN | | DOWNLOADS | | PAPIERE | |
|
|
| | Über | | Technologie | | Verfeinerung | | Transformationen | | Programmierparadigma | | Beispiel | | Merkmale | |
Die Modellierung von Benutzerschnittstellen alleine würde nicht ausreichen, um mehrere Benutzerschnittstellen für eine Anwendung zu unterstützen. Auch das Verhalten, der Code, muss darauf ausgerichtet sein. Nur so kann das 'Look and Feel' der Benutzerschnittstelle auf verschiedenen Verfeinerungsstufen wirklich angepasst werden.
Das Bild veranschaulicht das Konzept, wie in Mapache Benutzerschnittstellen erstellt werden und funktionieren. Es ist an das bekannte MVC-Modell (Model-View-Controller) angelehnt. Der Kreis beschreibt eine Eingabe des Nutzers, die Verarbeitung im System und Veränderung des Systemzustands als Reaktion, und die letztendliche Ausgabe/Visualisierung des aktualisierten Systemzustands wieder an den Nutzer.
Interagiert der Nutzer mit der Benutzerschnittstelle, sendet der Interpreter einen Event (Nachricht) an Mapache. Zu diesem sucht Mapache heraus, welche Verhaltens-Schnipsel (Kapselung von Verhalten) für sie registriert sind. Dies können je nach Verfeinerung Unterschiedliche sein. Die Verhaltens-Schnipsel werden ausgeführt und modifizieren dabei das Datenmodell, welches den Anwendungszustand beinhaltet.
Für den Rückweg zum Nutzer muss der Anwendungszustand visualisiert werden. Die Änderung am Datenmodell wird dafür einer oder mehreren Änderungsklassen zugeordnet. Diese sind Anwendungsspezifisch und werden im Datenmodell definiert. Es wird eine Benachrichtigung an die Beobachter-Schnipsel (Kapseln Visualisierung von Teilen des Anwendungszustands) gesandt, welche sich (unter anderem) auf diese Änderungsklasse subskribiert haben. Wie die Verhaltens-Schnipsel, können Beobachter-Schnipsel auch je nach Verfeinerung variieren. Die benachrichtigten Beobachter-Schnipsel aktualisieren das Modell, was der Interpreter erkennt und die Darstellung zum Nutzer hin entsprechend ändert.
Diese strikte Trennung erlaubt das einfachere Anpassen von Benutzerschnittstellen, denn Beobachter und Verhalten können modular in jeder Verfeinerung hinzugefügt, entfernt oder überschrieben werden. Wird eine Benutzerschnittstelle verfeinert, so erbt sie a priori die Beobachter und Verhaltens-Schnipsel ihrer abstrakteren Variante, ebenso wie deren Zuordnung zu Events. Das Mapache SDK unterstützt explizit dieses Programmierparadigma mit speziellen Werkzeugen.