Thread Frage zur Programmstruktur: "globale Objekte"
(17 answers)
Opened by sitescriptor at 2010-08-17 14:41
Wenn das Programm selber ein Objekt ist kann man die Dienste als Parameter einsetzen.
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 my $prog=Progamm->new(); $prog->runn(); package Programm; sub new { my $class=shift; #... bless(my $self, $class); #... $self->{dienst}=Dienst->new(); #... return $self; } sub mach_was { my $self=shift; my $dienst=$self->{dienst}; #... } Ansonsten kommt es halt darauf an wie die Dienste funktionieren. Es kann sinnvoll sein an der Stelle wo man es braucht ein Objekt zu erzeugen und danach wider zu vernichten. Man kann sie auch an Funktionen als Parameter weiterreichen. Man kann es auch als Packetvariable definieren und eine Funktion schreiben um darauf zu zu greifen. das ist aus meiner Sicht der beste Weg, wenn man in Richtung von globalen Variablen geht. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package Dienst; my $dienst; sub new { #... } sub get_Dienst { $dienst=Dienst->new(@_) unless($dienst); return $dienst; } package main; #... sub mach_was { my $dienst=Dienst::get_Dienst(); #... } Last edited: 2010-08-17 15:09:43 +0200 (CEST) |