Thread Klassendaten: Globale Variablen in Klassen (16 answers)
Opened by Gast at 2004-04-17 13:01

Gast Gast
 2004-04-17 13:01
#81624 #81624
Hallo,

ich habe
- eine Datei mit Config-Variablen
- ein Hauptprogramm
- verschiedene (unterschiedliche) Klassen

Sowohl im Hauptprogramm als auch in den Klassen werden die Inhalte bestimmter Config-Variablen benötigt.
Die Config-Variablen liegen als Hash Referenz vor.

Der Konstruktor:
my $sys = SysConfig->new($config);

liefert die Hash-Referenz an die Klasse SysConfig.
Innerhalb der Klasse SysConfig wird dann ein wenig herumgewerkelt (u.a. wird $config einiges an Feldern hinzugefügt) und $config wird Bestandteil von $self.

Nun habe ich aber auch eine Klasse die sich ausschließlich mit I/O - Vorgängen beschäftigt, dabei unbedingt die innerhalb der Klasse SysConfig ermittelten Werte benötigt während die Klasse SysConfig (zur Ermittlung eben dieser Werte) auf die Methoden der I/O Klasse zurückgreifen muß.

Ist das nicht eine wunderschöne Katze-Schwanz-Beiß-Konstruktion? ;)

OK - das funktioniert wenn ich zuerst den Konstruktor für das I/O Objekt aufrufe (dabei $config übergebe) und im Anschluß daran den Konstruktor der Klasse SysConfig abbilde und dabei das I/O Objekt übergebe.

Irgendwie ist das alles aber sehr halsbrecherisch.

Kann mir jemand einen Tip geben wie ich das eleganter löse?

Gruß
Dieter

View full thread Klassendaten: Globale Variablen in Klassen