© Liashko/Shutterstock.com
MVP Pattern und Activities and Places Framework

GWT für Anspruchsvolle


Die Anforderungen an komplexe User Interfaces in Webapplikationen werden höher und die Technologien zum Erzeugen derselben immer leistungsfähiger. Neben einer intuitiven Benutzerführung werden das Setzen von Bookmarks oder die Verwendung der Browserbuttons und des Browserverlaufs vorausgesetzt. Zur Bereitstellung dieser Funktionalitäten kann das in Google Web Toolkit (GWT) integrierte „Activities and Places Framework“ verwendet werden. Strukturiertheit und Skalierbarkeit spielen auch bei der Entwicklung des Codes der Webapplikation eine wichtige Rolle und sollen nicht nur Eigenschaften der Webseite für den Endbenutzer sein. Die Versuchung ist oft groß, die darstellende Schicht einer Applikation und die Businesslogik nicht strikt zu trennen. Zur Lösung dieses Problems kann für die Entwicklung von User Interfaces mit GWT das Model-View-Presenter-(MVP-)Software-Pattern eingesetzt werden.

Das Activities and Places Framework erlaubt das Management des Browserverlaufs und die damit verbundene Bedienung der Vor-, Zurück- und Refresh-Buttons, die jeder gängige Browser zur Verfügung stellt. Seit der Version 2.1. ist dieses Framework in GWT integriert [1]. Das Grundprinzip ist, dass jedem User Interface (UI) eine Activity und ein Place zugeordnet ist.

Die Activity wird aufgerufen, wenn zu einer neuen Maske navigiert wird. Sie implementiert die Methoden onCancel(), onStop() und start(AcceptsOneWidget panel, EventBus eventBus). In der start-Methode werden alle Daten geladen, die für die Darstellung notwendig sind. Am Ende der Methode wird die Darstellungskomponente gesetzt und ist dadurch sichtbar.

Ein Place stellt einen „Platz“ in der Applikation dar. Er ist über den ActivityMapper immer an eine Activity gebunden, und diese wird dadurch via URL erreichbar. Ein Place erweitert den gwt.app.place.Place und implementiert einen PlaceTokenizer. Für jede Seite der Applikation wird also ein eindeutiges Token als String definiert, das beim Vor- und Zurücknavigieren in dem Browserverlauf wiederhergestellt werden kann [1].

Das MVP Pattern allgemein

Das Model View Controller (MVC) Pattern, aus dem das MVP Pattern hervorgeht, ist die Grundlage für die Kapselung der darstellenden Komponente (View), der Businesslogik (Model) und einer steuernden Komponente (Controller/Presenter). Durch diese Aufteilung werden Codewiederholungen vermieden, die Testbarkeit und Wiederverwendbarkeit des Sourcecodes erhöht und damit die Fehleranfälligkeit und der Wartungsaufwand minimiert. Der Vorteil...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang