4. Fazit
Erinnern wir uns daran, was wir erreichen wollten. Wir wollten die Webanwendung MVC mit den folgenden drei Schichten aufbauen:
![]() |
- Das Modell war bereits vorhanden. Es wurde von allen drei vorgeschlagenen Lösungen auf identische Weise verwendet.
- Da die Unabhängigkeit der Schichten gewissenhaft gewahrt wurde, konnte die Schicht [web] auf drei verschiedene Arten implementiert werden, ohne das Modell zu verändern. Wir haben ausschließlich in der Schicht [web] gearbeitet.
- Die Lösungen ähneln sich. Während in der ersten Lösung ein einziges Servlet mit einer Methode pro zu bearbeitender Aktion vorhanden war, gibt es in den beiden anderen Lösungen ebenfalls ein einziges Servlet, das jedoch von den Methoden zur Bearbeitung der Aktionen befreit ist; diese Bearbeitung wird nun von separaten Klassen übernommen. Die Rolle dieser Klassen entsprach derjenigen der Methoden in der ersten Lösung.
- Die Verwendung von [Spring] in dieser Anwendung lässt uns die Wahl der Implementierungsklassen für die Java-Schnittstellen der Schichten [domain] und [dao]. Diese Implementierungsklassen könnten in einer Schicht geändert werden, ohne dass dies Auswirkungen auf die anderen Schichten hätte. Es müsste lediglich die Spring-Konfigurationsdatei geändert werden. So könnte die hier durch das Tool [sqlMap] bereitgestellte Schicht [dao] durch das Tool [Hibernate] bereitgestellt werden. Dies hätte Auswirkungen auf die Schicht [dao], jedoch keinerlei Auswirkungen auf die Schichten [web] und [domain].
