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)
- 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
- 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)
- automatische Erstellung von Tk-Oberflächen
- evtl. automatische Erstellung von HTML-Formularen
Vergleich von CPAN-Modulen #
Sinnige CPAN-Module, die benutzt werden #
Alternativen für Exception Handling:
- Exception::Class und Error
- Exceptions
Add new attachment
Only authorized users are allowed to upload new attachments.