Daten, Klassen, Eigenschaften und Methoden

Objektorientierung aus der Sicht der Daten

Abstrakt ​gesehen, ​werden ​Daten ​nicht ​in ​Dateien ​und ​auch ​nicht ​in ​Datenbanken ​gespeichert ​sondern ​irgendwo. ​So ​ist ​für ​einen ​Datenbankzugriff ​nicht ​nur ​Name ​und ​Passwort ​eines ​bestimmten ​Benutzers ​entscheidend, ​es ​muss ​auch ​der ​Hostname ​und ​der ​Port ​bekannt ​sein, ​zumindest ​dann, ​wenn ​es ​sich ​um ​MySQL ​handelt.

Das ​hier ​vorliegende ​Framework ​(FW) ​lädt ​eine ​Konfiguration ​aus ​2 ​verschiedenen ​Dateiformaten, ​das ​ist ​entweder ​eine ​INI-Datei ​oder ​eine ​Lineare ​Datenbank, ​ebenfalls ​als ​Datei. ​Somit ​sind ​in ​der ​Basiskonfiguration ​für ​eine ​bestimmte ​Domäne ​zwei ​Dinge ​vorgegeben, ​einmal ​der ​Dateiname ​und ​zum ​Anderen ​das ​Dateiformat ​als ​ini ​|| ​bin. ​Dementsprechend ​gibt ​es ​2 ​Funktionen ​deren ​Rückgabewerte ​jedoch ​immer ​jeweils ​dieselben ​Datenstrukturen ​liefern ​als ​Referenz ​auf ​einen ​einen ​Hash ​mit ​Hash-Referenzen.

Zusammen ​mit ​dem ​übergebenen ​Dateinamen ​(Eigenschaft) ​bestimmt ​also ​eine ​Methode ​über ​den ​Speicherort ​bzw. ​die ​Herkunft ​der ​Daten ​für ​einen ​lesenden ​Zugriff. ​Soll ​nun ​gespeichert ​werden, ​kann ​entweder ​die ​bereits ​zum ​Lesen ​vorhandene ​Funktion ​erweitert ​werden ​oder ​es ​wird ​eine ​weitere ​Funktion ​definiert. ​Der ​erste ​Schritt ​in ​Richtung ​OOP ​wäre ​damit ​begründet, ​dass ​nicht ​die ​Funktion ​sondern ​eine ​Klasse ​dafür ​zuständig ​ist, ​dass ​beim ​Lesen ​oder ​Schreiben ​dieselbe ​Datei ​verwendet ​wird.

Wie ​bereits ​festgestellt, ​sei ​ein ​Dateiname ​eine ​Eigenschaft. ​Somit ​kann ​diese ​Eigenschaft ​bereits ​dem ​Konstruktor ​übergeben ​werden ​und ​wird ​dadurch ​zu ​einem ​Attribut ​der ​Instanz ​einer ​Klasse. ​Sollen ​über ​die ​Instanz ​nun ​Daten ​aus ​der ​Datei ​gelesen ​oder ​in ​die ​Datei ​geschrieben ​werden, ​eine ​Übergabe ​des ​Dateinamen ​beim ​Aufruf ​der ​entsprechenden ​Methoden ​ist ​nicht ​mehr ​erforderlich.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.