Thread Jeder kennt Traits (54 answers)
Opened by rosti at 2018-11-06 11:05

rosti
 2018-11-08 15:32
#189139 #189139
User since
2011-03-19
3471 Artikel
BenutzerIn
[Homepage]
user image
Warum sollte man eine Warnung bekommen, wenn man subs außerhalb eines FW verwendet? Es ist ja gerade der Vorteil an Traits, daß genau das ja funkioniert!

So kann man mit

Code (perl): (dl )
1
2
 my $self  = shift; #  Beliebige Instanz
 my $stash = shift || $self->{STASH};


außerhalb entscheiden ob man auf eine interne Eigenschaft zugreift oder die Hashreferenz als 2. Argument übergibt. Das entkoppelt einmal die Eigenschaft und zum anderen macht es die Methode wiederverwendbar. Und: Das ermöglicht Unittests für die Qualiätssicherung.

Schau Dir doch mal Deine eigenen Methoden an: Sie unterscheiden sich, außer daß sie verschiedene Dinge tun, hauptsächlich dadurch daß sie bestimmte Eigenschaften der übergebenen Instanz verwenden. Allein diese Kopplung qualifiziert eine Methode zu einer bestimmten Klasse -- Ohne daß die Klasse namentlich in der Methode benannt ist!



MfG
Last edited: 2018-11-08 15:38:09 +0100 (CET)

View full thread Jeder kennt Traits