Thread Frage zur Programmstruktur: "globale Objekte"
(17 answers)
Opened by sitescriptor at 2010-08-17 14:41 2010-08-17T23:46:18 sitescriptor Ja und nein. Es ist eine Sache der Vorstellung. für mich erzeugt "new" immer ein ein neues Objekt, ohne "Abhängigkeiten" und "Ausnahmen". "get_obj" nutzt "new" um ein neues Objekt zu erzeugen. Vermischt du beides bekommst in deinem Fall das Problem, dass dir unter Umständen mehrere verschiedenen Objekte über "get_obj" bekommst, obwohl du erwarten würdest, dass es immer das gleiche ist. Willst du es so machen, würde ich es etwas anders schreiben: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package Sitescriptor::Core::Request::Httpheader; my $me; sub new { return $me if($me); my $pkg = shift; my $Self = {}; bless( $Self, (ref $pkg || $pkg) ); $me = $Self; return $Self; } sub get_obj { return __PACKAGE__->new(@_) } So würdest du sicher stellen, dass immer das gleiche Objekt genutzt wird. Das würde aber meinem Verständnis von "new" wieder sprechen. |