Dienstag, 29. Mai 2012

Erste Schritte - Fenster und Dialoge


Ich denke in einer guten Anwendungsarchitektur sollte „Alles“ was zu einer Dialog-Seite gehört, in einer Klasse gekapselt sein.  Seiten in einer Web-Anwendung können wir in Anlehnung an gängige GUI Architekturen als Fenster betrachten.  Jede Fensterklasse ist für folgende Aufgaben verantwortlich:
  • Öffnen des Fensters: Generierung des HTML Codes zur Darstellung des Fensters im Browser. Befüllen der variablen Felder im Fenster mit den Ausgabedaten
  • Erkennen der  Benutzeraktionen im Fenster (Klick auf Buttons oder Menüs) und Aufruf von verknüpften Callback-Funktionen.
  • Übernahme der Eingabedaten sofern das Fenster Eingabefelder enthält.
  • Prüfung der eingegebenen Daten. Abspeicherung in einem Modell-Objekt.
Soweit so gut. Aber das ist noch nicht alles. Da Anwendungen im Allgemeinen aus mehr als einem Fenster bestehen, müssen Fenster auch Mechanismen anbieten, wie Daten von einem Fenster an ein anderes beim Öffnen übergeben werden und wie bei der Rückkehr von einem Sub-Fenster Ergebnisse übernommen und das aufrufende Fenster wiedereröffnet werden kann.

Da Web-Anwendungen immer auch Multi-User Anwendungen sind, müssen Fensterklassen auch in der Lage sein, sich in Benutzer-Sessions einzuklinken. Das heißt das Fenster muss zum Beispiel wissen, zu welchem Benutzer welche Eingabedaten gehören,  ob der Benutzer überhaupt angemeldet ist und wenn ja welche Rechte er hat.  

Es ist sinnvoll drei Arten von Fenstern zu unterscheiden:  Hauptfenster, nicht-modale Fenster und modale Fenster bzw. Dialoge. Das GGF Framework bietet jeweils eine Basisklasse dafür an.
  • Hauptfenster öffnen sich beim Start einer Anwendung. Sie müssen daher die Benutzer-Session initialisieren.
  • Modale Fenster bzw. Dialoge dienen zur Eingabe von Parametern zu einer Benutzeraktion. Um inkonsistente Zustände zu vermeiden, muss die Interaktion mit dem aufrufenden Fenster gesperrt werden solange der Dialog aktiv ist.
  • Nicht-modale Fenster hingegen können unabhängig voneinander  du auch mehrfach geöffnet werden.
Diese Mechanismen haben sich bewährt und werden seit bald 40 Jahren in GUI’s eingesetzt. Aus diesem Grund werden diese Entwurfsmuster auch vom GGF Framework und vom ReinHTML Dialog Designer für die Entwicklung von Web-Anwendungen unterstützt. Ein einfaches Beispiel für die Anwendung der Entwurfsmuster stellt die "Contacts" Anwendung dar. 

 
 
In den weiteren Posts werde ich Schritt für Schritt  beschreiben, wie eine solche Anwendung entwickelt werden kann. 

Keine Kommentare:

Kommentar veröffentlichen