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


----
[{Tag Perl Templates}]