Thread Modern Perl: Welche Module zum Erstellen von Inside Out Objects und warum? (5 answers)
Opened by GwenDragon at 2013-01-18 17:12

GwenDragon
 2013-01-18 17:12
#165040 #165040
User since
2005-01-17
14536 Artikel
Admin1
[Homepage]
user image
Eine interessante Frage für Anfänger und Leute, die ein bisschen in Object Oriented Perl (OOP) reinschnuppern oder ab und an damit zu tun haben. Die Profis hier werden wohl eher abwinken.

Viele Leute verwende für das Innenleben ihrer durch new erzeugten Objekte in OOP meist blessed Hashes.
Hat nur einen Nachteil: jeder kann extern drauf zugreifen, mit der Methode (den Akzessoren) und dem Hashkey. Das ist natürlich keine echte Kapselung der Daten des Objekts.

Wie es anders geht zeigt (etwas länger her):
http://www.stonehenge.com/merlyn/UnixReview/col63....
https://www.socialtext.net/perl5/inside_out_object
http://perltraining.com.au/tips/2006-03-31.html
Perlmonks:515650
Perlmonks:219924

Perldoc zu perlobj und inside-out.

Auf CPAN existieren diverse Module: CPAN:Class::InsideOut, CPAN:Object::InsideOut. CPAN:Moose & Co. dienen auch der besseren Abstrahierung von Objekten.

Wer Modern Perl programmiert (und auch diverse Bücher und $foo dazu las) macht sich jetzt wohl weniger Gedanken darüber. Aber andere Leute an Module und OOP und Modern Perl dran zu führen, ist auch wichtig.

Verhindert ihr, dass jemand die Methoden eures Objekts umgeht und auf die gesegneten Eingeweide des Objekts (blessed hash) direkt greift? Wenn ja, wie?
Wenn nein, warum nicht?
Welche Programmiertricks verwendet ihr dazu?
Welche Module verwendet ihr? Wie generiert ihr eure Methoden?
Welche Fallen gibt es bei OOP und "versteckten" Objekten?
Last edited: 2013-01-18 17:13:59 +0100 (CET)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Modern Perl: Welche Module zum Erstellen von Inside Out Objects und warum?