08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Stattdessen wurde er in sogenannte Partials ausgelagert, die durch render-Befehle in Zeile<br />

3 und 6 in das Template integriert werden. Ein Partial kann als partielles Template verstanden<br />

werden, das üblicherweise zur Auslagerung von ERb-Code verwendet wird, der in mehreren<br />

Templates (oder mehrmals in ein und demselben Template) wiederverwendet wird. Zwar<br />

werden die beiden Partials, die in das Layout-Template integriert sind, (zur Zeit) an keiner<br />

anderen Stelle in der View des PVS eingebunden; aber dennoch hat es sich hier empfohlen,<br />

diese beiden UI-Komponenten aus dem Layout-Template zu extrahieren, um die Flexibilität<br />

und Übersichtlichkeit des Codes zu erhöhen.<br />

Der Code-Ausschnitt liefert im Übrigen auch ein gutes Beispiel dafür, wie zusätzlicher<br />

HTML-Code benötigt wird, um die intendierte Positionierung der betreffenden UI-<br />

Komponenten zu realisieren 73 . Um die Seite vertikal in zwei Hälften zu teilen, deren eine von<br />

der Seitenleiste und deren andere von Navigationsmenü und Hauptregion befüllt wird, ist ein<br />

zusätzliches -Element vonnöten (Zeile 5), das die rechte Hälfte der Seite repräsentiert.<br />

Durch geeignete Deklarationen der style-Attribute dieses Division-Elements sowie des<br />

s, der für die linke Seite zuständig ist (Zeile 2), wird eine Anordnung wie im<br />

Modellausschnitt umgesetzt.<br />

Partials kamen auch zum Einsatz, um die Vererbungshierarchie für das Publikationsformular<br />

des Präsentationsmodells zu implementieren. Es ist klar, dass diese Konstruktion nicht 1:1<br />

umgesetzt werden konnte, da ERb-Templates nicht dem Paradigma der Objektorientierung<br />

gehorchen. Sie konnte jedoch zu einem bestimmten Grad simuliert werden durch Verwendung<br />

eines Haupt-Templates, in dem die Grundstruktur des Publikationsformulars definiert wird,<br />

und einiger publikationstyp-spezifischer Partials, in die der Code für diejenigen Eingabefelder<br />

ausgelagert wurde, die speziell für den jeweiligen Publikationstyp benötigt werden.<br />

1 <br />

...<br />

2 'publications/form_partials/bibtex_title')%><br />

3 <br />

...<br />

4 'publications/form_partials/<br />

5 additional_information') %><br />

...<br />

6 <br />

In Zeile 1 wird mit Hilfe von eingebettetem Ruby-Code ein HTML-Formular definiert. In<br />

Zeile 2 und 4/5 werden einige seiner festen Bestandteile (Eingabefelder für Titel/BibTeX-<br />

Schlüssel sowie für zusätzliche Informationen wie DOI und Abstract), die ebenfalls in Partials<br />

ausgelagert worden sind, über den schon bekannten render-Befehl in das Template<br />

integriert. Zeile 3 enthält den Aufruf der selbst implementierten Hilfsmethode<br />

get_type_dependent_section, die für die Integration des Partials für die<br />

73 Diese Positionierung wird im Modell durch die spezifische Anordnung der drei Komponenten der<br />

«presentationPage» zwar angedeutet, gehört aber nicht zu den bindenden Vorgaben des Modells – wie<br />

schon weiter oben erwähnt, macht das <strong>UWE</strong>-Präsentationsmodell streng genommen keine Aussagen über<br />

topologische Eigenschaften von UI-Elementen.<br />

88

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!