Variablen Globale Variable?

Maybe

Mitglied
Hallo liebe Community,

ich belästige mich mal wieder mit einer meiner Fragen. Und zwar entwickel ich gerade ein kleines Programm mit einem Login.

Jede Aktivität die in die Datenbank geschrieben werden soll, muss der Benutzername dazu notiert werden.

Nun ist meine Frage, wo ich diesen am besten "aufbewahre". Ich habe nach dem erfolgreichen Login eine Benutzer Klasse, die diesen Namen enthält.

Sollte ich den Namen in dieser Klasse nun auch statisch speichern? Oder in jede Klasse die Benutzerklasse in den Konstruktor aufnehmen? (Sind viele, viele Klassen) Ich hatte auch etwas von dem Singleton-Entwurfsmuster gelesen, dieses sieht ganz nett aus, allerdings kann ich ihr ja keinen Wert "übergeben", sondern diesen lediglich in der Klasse erzeugen. Ich könnte auch eine Klasse GlobaleVariablen.java machen und diese dort niederschreiben. Allerdings widerspricht dieses angeblich den objektorientierten Gedanken.

Wie würdet ihr dieses anstellen?
 
Das würde ich mittels DI (z.B. Guice) lösen. Das Framework kümmert sich dann um die Abhängigkeiten und in den Klassen sagst du einfach, was du haben möchtest. Wenn du eben das User-Objekt brauchst, lässt du dir es injecten und kannsts verwenden.
 
Wie Tomate_Salat sagte, ist DI die Lösung. gibt da verschiedene Tools, machen alle aber mehr oder weniger das gleiche.
Das Problem am Singleton-Pattern ist, dass es eben eher ein Anti-Pattern als ein Pattern ist. Müssen aber hier nicht darüber disktuieren, führt nur zu einem Flamewar...
 

Zurück
Oben