Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.

Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an und entferne diesen Text.

Vielen Dank!

In Empire 2000 arbeite
ich mit einer Template-Klasse aus dem Buch "Fortgeschrittene
Perl-Programmierung". Je mehr ich damit arbeite, für desto
wichtiger erachte ich es, eine solche Template-Klasse für Objekte
zu haben. Nun überlege ich, diese Klasse zu überarbeiten.

Hierzu erstelle ich ein Anforderungsprofil und sehe mir dann alle
vorhandenen Template-Klassen an, derer ich habhaft werden kann.
Dort lerne ich noch mehr dazu und dann kann ich mir überlegen, was
meine Klasse können sollte.

= Anforderungsprofil =

==== Generelle Dinge ====

* Hohe Performanz des Ganzen. ''Evtl. keine Ableitung, sondern
Konstruktion der Klasse per Template und eval?''
* Nutzbarkeit mit einfachen, vorhandenen Hashes
* Einfachheit aller Schnittstellen, Komplexität ggf. versteckt in
der Klassendefinition
* Kommunikation zwischen Objekten (Callback)

==== Format der Basisdaten ====

* ganz normale Hashes sollten problemlos benutzt werden können
* Datensätze in Arrays (wie in meiner Klasse) haben bisher auch
nicht geschadet
* Datenbankzugriff sollte möglich sein
Callback-Mechanismen fallen aus, wenn ein Objekt in der Datenbank
steht. Entweder ein exklusiver Lock auf die ganze Datenbank oder
generell nur einen User. Hmmm....
* Beschreibung des Objektes ggf. in Definitionssprache
* grundsätzlich auch Funktion ohne Beschreibung

==== gemeinsame Objekteigenschaften ====

* Initialisierung
* Deinitialisierung
* Speichern
* Laden
* Callback-System (Signals and Slots)
* Informationen über das Objekt, seinen Typ, etc.
* Ist es sinnvoll, mit Exceptions zu arbeiten? Wahrscheinlich ja!
* Typüberprüfung (evtl. abschaltbar)

==== aufbauende Erweiterungen ====

* automatische Erstellung von Tk-Oberflächen
* evtl. automatische Erstellung von HTML-Formularen

= Vergleich von CPAN-Modulen =

KlassenTemplatesImCPAN

= Sinnige CPAN-Module, die benutzt werden =

Alternativen für Exception Handling:
* Exception::Class und Error
* Exceptions