hi,
Und um auf Andreas Orlik zurückzukommen: Mir scheint, er kritisiert (zu Recht) die herrschende Praxis objektorientierter Programmierung, ohne die zugrundeliegende (idealisierte) Theorie zu kennen.
Also ich werde das Gefühl nicht los, dass um OOP genauson ähnlicher Rummel stattfindet wie um Web20, JSON oder jquery.
Und da ich OOP auch schon seit vielen Jahren kenne und nur dann praktiziere, wenn das Ergebnis als "Objekt" (*) modellierbar ist, kann ich manchmal nur den Kopf schütteln, wenn ich sehe, was manche so mit dem Schnee von gestern machen.
Nunja, ich philosophiere ja auch gerne, siehe mein neuer Artikel Kritik an der heutigen Browsergeneration und darin hab ich auch ein paar Worte zu json geschrieben.
(*) betrachte eine HTML-Datei als Objekt "URL", hierzu mein Konstruktor
package ContentBase;
# Der Konstruktor für ein $cb-Objekt
sub new{
my $self = shift;
my $url = shift;
$self = {};
# Object Properties, alle bisher möglichen Eigenschaften, scalierbar!
$self->{URL} = $url;
$self->{TITLE} = undef;
$self->{DESCR} = undef;
$self->{PICS} = undef;
$self->{ORDNER} = undef;
$self->{TIME} = undef; # Last-Modified
$self->{CONTENT} = undef; # cgi und php bleibt leer
bless $self;
return $self;
}
Dazu gesellen sich 2 ObjektMethoden, eine, die das Objekt mit Werten füllt wobei diese Werte (Attribute) direkt und ohne Umweg aus meiner Projektverwaltung kommen und eine zweite Methode, die beschreibt den Dateitransfer eines URL-Objects zum Webserver. Das nenne ich mal einen sinnvollen Einsatz von OOP, der Code vorher war mindestens 3 DIN-A4-Seiten länger und völlig unübersichtlich. Es gäbe sicher noch mehr Attribute für o.g. Verwendungszweck, beispielsweise /css oder /js oder auch charset und language, die sind bei mir jedoch alle gleich. Es wäre jedenfalls mit OOP kein Gewaltakt, weitere Attribute da einzubauen.
Rolf
oooooooooooooops ;-)