Thread Klassendaten: Globale Variablen in Klassen
(16 answers)
Opened by Gast at 2004-04-17 13:01
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 |