Da ich bis her hauptsächlich Programme für mich selbst geschrieben habe, hatte ich da kaum Probleme mit Konfigurationseinstellungen.
Nun wollte brauch ich aber bei einem Projekt (einem Datenbank-Client) eine etwas umfangreichere Konfigurationsmöglichkeit. Jetzt wollte ich einfach mal fragen, wie man das am besten realisiert. Es gibt zwar die Properties-Klasse, aber wie stelle ich das am besten so zur Verfügung, dass ich aus meiner Anwendung am besten darauf zugreifen kann. (Am besten wohl mit statischen Zugrifsfunktionen oder als Singleton-Objekt). Vielleicht gibt es dafür auch noch besser geeignete Biblioteken.
Hier noch meine Anforderungen:
- Konfigurationen sollen über GUI verändert werden
- Die Einstellungen müssen an einer Stelle verwaltet werden
- Da der Client erweiterbar sein soll, müssen neue Einstellungen ohne (großen) Programmieraufwand, in vorhandenen Klassen, hinzu gefügt werden können. Das müsste via Reflection funktionieren, aber wie realisiere ich das am besten? Mit Enums? Die sind allerdings nicht gerade flexibel, was den Inhalt angeht.
Punkt 1 sollte eigentlich kein Problem sein - jedoch Punkt 2, da die Einstellungen ja an einer Stelle verwaltet werden müssen, bzw. darüber erfragt werden können müssen. Leider habe ich bis dato in der Beziehung kaum Erfahrungen, deshalb frage ich hier einfach mal, wie ich das Problem am besten lösen kann: Wie kann ich das Problem lösen?
Nun wollte brauch ich aber bei einem Projekt (einem Datenbank-Client) eine etwas umfangreichere Konfigurationsmöglichkeit. Jetzt wollte ich einfach mal fragen, wie man das am besten realisiert. Es gibt zwar die Properties-Klasse, aber wie stelle ich das am besten so zur Verfügung, dass ich aus meiner Anwendung am besten darauf zugreifen kann. (Am besten wohl mit statischen Zugrifsfunktionen oder als Singleton-Objekt). Vielleicht gibt es dafür auch noch besser geeignete Biblioteken.
Hier noch meine Anforderungen:
- Konfigurationen sollen über GUI verändert werden
- Die Einstellungen müssen an einer Stelle verwaltet werden
- Da der Client erweiterbar sein soll, müssen neue Einstellungen ohne (großen) Programmieraufwand, in vorhandenen Klassen, hinzu gefügt werden können. Das müsste via Reflection funktionieren, aber wie realisiere ich das am besten? Mit Enums? Die sind allerdings nicht gerade flexibel, was den Inhalt angeht.
Punkt 1 sollte eigentlich kein Problem sein - jedoch Punkt 2, da die Einstellungen ja an einer Stelle verwaltet werden müssen, bzw. darüber erfragt werden können müssen. Leider habe ich bis dato in der Beziehung kaum Erfahrungen, deshalb frage ich hier einfach mal, wie ich das Problem am besten lösen kann: Wie kann ich das Problem lösen?