2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Lösung:<br />
Abhängig von bestimmten Benutzeraktionen wird ein UI-Element angezeigt oder verborgen.<br />
Dies erfolgt clientseitig oder über asynchrone Kommunikation mit dem Server.<br />
Bemerkungen:<br />
Abbildung 40: RIA-Pattern DynamicDisplay<br />
• Sollen, wie bei dem angeführten Beispiel, mehrere UI-Elemente alternativ angezeigt<br />
werden, so muss jedes dieser Elemente mit dem DynamicDisplay-Feature versehen<br />
werden. Um eindeutig zu spezifizieren, dass stets nur ein Element sichtbar ist, müssen<br />
die Aktionen, die zum Anzeigen und Verbergen der Elemente führen, entsprechend<br />
aufeinander abgestimmt werden. Darüber hinaus empfiehlt es sich, die Elemente in einen<br />
«presentationAlternatives»-Container zu packen, um schon im<br />
Präsentationsdiagramm deutlich zu machen, dass stets nur eines der Elemente anzuzeigen<br />
ist.<br />
• Wie auch bei der StateBasedLiveValidation ist die Wahl des Zustands, der vom<br />
Startzustand aus erreicht wird, willkürlich getroffen worden. Bei konkreten<br />
Ausprägungen des Patterns ist der initiale Sichtbarkeitsstatus den Erfordernissen der<br />
Situation entsprechend anzupassen.<br />
• Es soll nicht verschwiegen werden, dass die Modellierungssprache von <strong>UWE</strong> bereits ein<br />
Konstrukt enthält, das für ähnliche Zwecke wie das DynamicDisplay-Pattern genutzt<br />
werden könnte: der stringwertige Tagged Value visibilityCondition von<br />
«uiElement», über den eine geeignete Sichtbarkeitsbedingung spezifiziert werden<br />
könnte. Trotzdem empfiehlt es sich, ein eigenes Pattern in den RIA-Katalog<br />
aufzunehmen. Denn bei Anwendungsfällen, in denen die Aktionen, welche den<br />
Sichtbarkeitsstatus bestimmen, komplexerer Natur sind, ist die Erstellung eines<br />
«concreteRIAFeature»s über die DynamicDisplay-Patternvorlage einer<br />
Spezifikation durch einen Tagged Value vorzuziehen. Folgender Vorschlag bietet sich an:<br />
Da die visibilityCondition bis jetzt vornehmlich für statische Anzeigeaspekte<br />
genutzt wurde (z.B. 'Zeige einen Link zum Publikationstext nur dann an, wenn das url-<br />
Attribut der entsprechenden Publikation nicht-leer ist.'), die der Benutzer durch Aktionen<br />
auf der <strong>Web</strong>oberfläche nicht direkt beeinflussen kann, soll die<br />
visibilityCondition in Zukunft ausschließlich für solche Zwecke genutzt<br />
werden. Ist dagegen RIA-spezifische Dynamik vonnöten, so ist das DynamicDisplay-<br />
Feature die richtige Wahl.<br />
69