Thomas Darimont
Erfahrenes Mitglied
Hallo!
Vor einiger Zeit hab mir ein genialer Geist die Kunst der dreistufigen Konfigurierbarkeit offenbart. Mit dreistufiger Konfigurierbarkeit meine, das Anwendungen sich auf drei Stufen konfigurieren lassen koennen. ;-)
1) Per Defaultwerten in dem Anwendungscode selbst.
2) Per Konfigurationsdatei
3) Per Kommandozeilenschalter / Umgebungsparameter
Hierbei ist es nun so, dass sich verschiedene Konfigurationsstufen ueberschreiben duerfen.
Sagen wir mal, dass die Konfiguration Stufen 1),2) und 3) folgende Vorangsrelation aufweisen: 3)>2)>1). Es wird nun immer der Konfigurationswert der groesseren Stufe gezogen.
Beispiel:
Wir haben 3 Konfigurierbare Optionen:
A, B und C
Ihre Default Werte (1): A=1000, B =50, C=-1
Zusatzlich finden sich in einer zusaetzlichen Konfigurationsdatei (2)
Noch folgende Werte fuer die Optionen B und C: B = 1111 und C = 21
Ausserdem wird der Anwendung noch der Umgebungsparameter c=42 uebergeben.
Die effektive Konfiguration ergibt nun:
A=1000
B=1111
C=42
Das Ganze laesst sich dann ueber ein wenig ReflectionMagic realisieren.
Zu vollen Qualifizierung der jeweiligen Optionen bieten sich der FQCN + der Name des Attributs an.
Was haltet ihr von diesem Ansatz...?
Gruss Tom
Vor einiger Zeit hab mir ein genialer Geist die Kunst der dreistufigen Konfigurierbarkeit offenbart. Mit dreistufiger Konfigurierbarkeit meine, das Anwendungen sich auf drei Stufen konfigurieren lassen koennen. ;-)
1) Per Defaultwerten in dem Anwendungscode selbst.
2) Per Konfigurationsdatei
3) Per Kommandozeilenschalter / Umgebungsparameter
Hierbei ist es nun so, dass sich verschiedene Konfigurationsstufen ueberschreiben duerfen.
Sagen wir mal, dass die Konfiguration Stufen 1),2) und 3) folgende Vorangsrelation aufweisen: 3)>2)>1). Es wird nun immer der Konfigurationswert der groesseren Stufe gezogen.
Beispiel:
Wir haben 3 Konfigurierbare Optionen:
A, B und C
Ihre Default Werte (1): A=1000, B =50, C=-1
Zusatzlich finden sich in einer zusaetzlichen Konfigurationsdatei (2)
Noch folgende Werte fuer die Optionen B und C: B = 1111 und C = 21
Ausserdem wird der Anwendung noch der Umgebungsparameter c=42 uebergeben.
Die effektive Konfiguration ergibt nun:
A=1000
B=1111
C=42
Das Ganze laesst sich dann ueber ein wenig ReflectionMagic realisieren.
Zu vollen Qualifizierung der jeweiligen Optionen bieten sich der FQCN + der Name des Attributs an.
Was haltet ihr von diesem Ansatz...?
Gruss Tom