Perl/OOP-Notizen eines Webentwicklers

Allgemeine Notizen zum Perl-Framework und die Praxis objektorientierter Programmierung

Abstrakte Datentypen transformieren (cast)
In Perl sind beispielsweise Array oder Hash abstrakte Datentypen
Aggregation, Delegation, Dependency Injection
Entwurfsmuster die immer wieder missverständlich sind
Asynchronous JavaScript and XML und Benutzerfreundlichkeit
AJAX macht Anwendungen besonders benutzerfreundlich
Ausführende Instanz für Remote Procedure Call ist die Framework-Instanz
Per HTTP werden Methodname und Funktions-Argumente an den Server gesendet
Byte-Semantic und Character-Semantic
Zeichenorientiert oder Byteorientiert - Perl kann Beides
Chat mit WebSocket Broadcast und Client-Identifikation
Der Client muss bereis beim Aufbau der Verbindung eine Kennung mitsenden.
Class Loading via Perl Factory
Perls Class-Loader
Code Vereinfachen in Methoden einer Factory
Methoden die nicht ständig benötigt werden, liegen ausgelagert in eigenen Dateien
Das Routing auf der letzten Meile übernimmt der Controller
Maßgeblich ist das Zustand-Übergang-Modell für die Qualifikation einer Route
Data::Dumper wird nur geladen wenn er gebraucht wird
Warum Klassen automatisch laden
Dateipfad von Modulen oder packages ermitteln
Ausschlaggebend ist das @INC Array
Daten, Klassen, Eigenschaften und Methoden
Objektorientierung aus der Sicht der Daten
Design Pattern Factory Method
Die Factory Methode ist eine Methode im Sinne einer Vorgehensweise
Die an einen URL gebundene Subklasse definiert das Template
Genauer gesagt, definiert die Subklasse den Speicherort für das Template
DynDNS Client mit Perl Programmieren
DNS Einträge dynamisch aktualisieren, das braucht einen Service und einen Client
Ein anderer Aspekt der Factory
Die Fabrikmethode vermeidet redundanten Code
Entity, Attribute, Value, abstrakte Datentypen und zyklische Strukturen
Das EAV Muster ist genauso einfach wie vielfältig
HTTP Response Header werden gepuffert, der Puffer ist ein Attribut
Die Lebensdauer einer Framework-Instanz ist nach dem Senden der Response abgelaufen
HTTP Response Status: 204 No Content
Die elegante Möglichkeit, ein Neuladen der Seite zu verhindern
INI-Dateien sind objektorientiert aufgebaut nach dem EAV-Muster
Die Sektion ist der Name für ein Objekt und der abstrakte Datentype entspricht dem Muster Entity-Attribute-Value
Konfigurationen nicht als JSON sondern als abstrakte Datentypen
Über das direkte Laden von Code aus Dateien
Link, Rel, Canonical führen Duplicate Content zu einem gemeinsamen Ursprung
Eine Empfehlung führender Suchmaschinenbetreiber
MVC-Kompaktklassen im Perl-Framework
Kompaktklassen definieren das Template in derselben Datei
Mehrfachverwendung an URLs gebundener Responseklassen
Die Klassenbindung ist derart, dass nur noch die Konfiguration über den Inhalt entscheidet
Mein Web-Application-Framework als Interface in Perl implementiert
Das Grundgerüst meines Frameworks ist ein Interface
Packages, Namespace, Scope oder Geltungsbereich von Symbolen
Ohne Schlüsselworte gilt der aktuelle Namensraum
Quasi Random Access File, Datei mit wahlfreiem Zugriff
Der wahlfreie Zugriff wird über einen abstrakten Datentyp ermöglicht
Templates in Methoden verwenden
Templates vorteilhaft unterhalb __DATA__ Token notieren, die Factory machts möglich
URL Routing mit dem Perl Framework über Subklassen
Charakteristisch für das Framework ist die Klassenbindung an URLs
Variablen oder Abstrakte Datentypen an eine Klasse binden
Jeder Zugriff auf eine gebundene Variable ruft eine Methode auf
Vererbung vermeidet redundanten Code
Eigentlich ist das eine Binsenweisheit
Warum überhaupt eine Klasse für die Daten?
Ein etwas anderer Aspekt der Objektorientierten Programmierung.
Wiederkehrende Abläufe schreien nach einem Interface
Wenn immer dieselben abstrakten Abläufe gegeben sind, lohnt es sich über ein Interface nachzudenken

Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. s​os­@rolf­rost.de.