Pattern für globale Einstellungen
Nick
- programmiertechnik
Hallo,
ich benötige eine vernünftige Lösung, am besten ein Pattern womit ich meine Einstellungen verwalten kann. Entwickele eine Java-Anwendung... dort benötige ich globale Einstellungen wie z. B. DatenbankConnectionString, Version des Programms, Name, RMI-Verbindungsdaten, Ports...
Habe bisher einfach ein neues Package "Globals" eingeführt. Darin habe ich eine Klasse namens "Global" diese enthält wiederum statische Methoden z. B.
für GetConnectionString() oder für GetVersion()...
da aber unser Prof es gerne sieht wenn wir Pattern verwenden, würde ich das ganze auch noch mal ändern.
LG und danke
Hi,
ich benötige eine vernünftige Lösung, am besten ein Pattern womit ich meine Einstellungen verwalten kann.
Singleton?
Cheatah
Singleton?
Denke nicht dass das sinnvoll wäre. Schließlich muss ich von zig anderen Klassen auf diese eine Global-Klasse zugreifen. Beispiel
Hello,
Singleton?
diese alle müssen entweder eine Instanz der "Settings-Klassse" erstellen (was ich nicht so gut finde).
das Prinzip des Singleton ist dir nicht geläufig, oder?
Aus meiner Sicht wäre es im Prinzip entweder ein Singleton oder ein statischer/Singleton Property-Objekt.
MfG
Rouven
Hallo Rouven,
arbeite mich gerade in Pattern ein, zudem auch noch in Java... Aber ich glaube ich hab jetzt verstanden, meinst du das so:
Singleton settings;
settings = Singleton.getInstance(); // objekt wird erzeugt bzw. vorhandenes zurückgegeben
database.connect(settings.getConnectionString);
im Gegensatz dazu, statische Methoden, schneller zu verwenden:
database.connect(Settings.getConnectionString());
Habe wie gesagt im Moment die 2. Variante mit statischen Methoden implementiert. Welche soll ich nun nehmen, was ist besser? Mal ganz davon abgesehen das unser Prof Pattern sehen will. Ich will mich lieber für die vernünftigere Variante entscheiden.
Hallo,
Singleton settings;
settings = Singleton.getInstance(); // objekt wird erzeugt bzw. vorhandenes zurückgegeben
database.connect(settings.getConnectionString);
Was hindert dich an
database.connect(Singleton.getInstance().getConnectionString());
?
Gruss,
OhneName
Ja, ist mir vorhin auch eingefallen. Werde das Singleton-Pattern nehmen. Danke!