Ich arbeite gerade an einer Wicket-Anwendung, in der ich in vielen Komponenten auf die Session zugreife. Es gibt eine statische Methode get() der Klasse Session, die einem die jeweilige Session liefert. Nun könnte ich einmal mit dieser Methode das Session-Objekt am Einstiegspunkt des Nutzers holen und dann von Komponente zu Komponente reichen. Oder ich könnte mir das Herumreichen sparen und überall dort, wo ich die Session brauche, direkt die statische Methode aufrufen.
Als Vorteil vom Herumreichen sehe ich, dass von außen erkennbar ist, dass ein Session-Objekt benötigt wird und dass man nicht alle möglichen Komponenten an eine statische Methode kettet. Nachteil ist der Aufwand für das Herumreichen. Man könnte natürlich auch einfach Spring nehmen und die Session dort injizieren, wo sie gebraucht wird. Wie würdet ihr das machen? Und was seht ihr noch für Vor- und Nachteile?
Als Vorteil vom Herumreichen sehe ich, dass von außen erkennbar ist, dass ein Session-Objekt benötigt wird und dass man nicht alle möglichen Komponenten an eine statische Methode kettet. Nachteil ist der Aufwand für das Herumreichen. Man könnte natürlich auch einfach Spring nehmen und die Session dort injizieren, wo sie gebraucht wird. Wie würdet ihr das machen? Und was seht ihr noch für Vor- und Nachteile?