Empfehlungen zur Strukturierung von Wicket-Anwendungen
Design mit Mock-ups
- Skizzieren der Seiten auf Papier.
- Erstellung von statischen HTML-Mockups durch Web-Designer.
- Prüfung und Abnahme der Mockups durch den Kunden.
- Erweiterung der Seiten um
<wicket>-Tags und Erstellung der Seitenklassen durch die Web-Entwickler (dabei möglichst statische Seitendarstellung im Browser erhalten).
Dreischicht-Architektur
-
Es empfiehlt sich, Anwendungen in drei Schichten zu trennen:
- Persistenz-Layer (Bereitstellung der Datenbankoperationen in
DAOsbzw.Repository-Klassen) - Service-Layer (Geschäftslogik wird auf der Grundlage der bereitgestellten Persistenzlogik in Service-Klassen implementiert)
- Web-Layer (Präsentation von Web-Seiten unter Verwendung der Services)
- Persistenz-Layer (Bereitstellung der Datenbankoperationen in
-
Wicket beschränkt sich auf Funktionalitäten für den Web-Layer, für Persistenz- und Service-Layer sollte ein Framework wie Spring oder J2EE eingesetzt werden.
Empfohlene Package-Struktur
- common Gemeinsame Anwendungsklassen
- helper Helper-Klassen
- web Web-Klassen
- resources Resourcen (Bilder, CSS)
- components Basis-Komponenten
- pages Basis-Seiten
- module1 Einteilung in Module
- domain Entitäten
- repository Persistenz-Layer
- services Service-Layer
- web Web-Layer
- models Web-Modelle
- components Web-Komponenten
- pages Web-Seiten
- module2
- ...
Best Practices Wicket-Code
- Es empfiehlt sich, Komponenten im Markup und im Code in der gleichen Reihenfolge zu deklarieren.
- Variablen sollten analog zu den
wicket:ids benannt werden. - Vor allem das Zusammenspiel der Seiten untereinander (woher wird eine Seite aufgerufen) sollte im Javadoc dokumentiert werden.
- Es empfiehlt sich, mit anonymen, inneren Klassen zu beginnen und diese bei anwachsender Komplexität zu inneren Klassen bzw. separaten Klassen zu refaktorieren.
- Code-Abhängigkeiten sollten regelmäßig geprüft und insb. die Richtung der Schichtentrennung niemals verletzt werden (Service-Layer darf bspw. keine Web-Layer-Klassen verwenden).
Allgemeine Best Practices
- Es empfiehlt sich ein einheitliches Entwicklerhandbuch mit Coding Conventions, Best Practices, Patterns, Beispielen, Anleitungen zu entwickeln und kontinuierlich zu verbessern.
- Agile Softwareentwicklungsprozesse wie XP oder SCRUM können bei korrekter Umsetzung die Produktivität steigern. Wicket ist insb. durch die Einfachheit der Erstellung von Mockups und Prototypen gut für die Verwendung in solchen Prozessen geeignet.
Eclipse IDE Tipps & Tricks: Refactoring classes
Eclipse IDE Tipps & Tricks: Save Actions
- Eclipse kann Quelltexte beim Speichern automatisch formatieren und aufräumen.
- Dies kann in den Projekteinstellungen unter
Java Editor > Save Actionsaktiviert werden (Format source code,Organize ImportsundAdditional actions). - Der Formatter kann unter
Java Code Style > Formatterkonfiguriert werden. Insbesondere bei automatischer Quelltextformatierung müssen alle Entwickler exakt denselbenFormatterverwenden! - Eclipse-Projekteinstellungen werden im Projekt unter
.settingsabgelegt und können problemlos versioniert werden.

