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