Hey hotti,
auch Dir vielen Dank für Deine Antwort.
Du beschreibst einen Data Abstraction Layer (DAL).
Nach meinem Kenntnisstand und dem Beispiel im Ausgangsposting, grundsätzlich ja.
Den würde ich als Klasse realisieren,
Das ist auch so geplant. Allerdings würden ja alle in meinem Ausgangsposting beschriebenen Entwurfsmuster (PHP-)Klassen verwenden, sodass mich interessieren würde, warum Du ...
Entwurfsmuster 1 und 2.
... bevorzugen würdest? Dedlfix und Sven Rautenberg haben mir ja im Verlauf dieses Themas schon gute Begründungen und Erklärungen geliefert, warum insbesondere diese beiden Muster Nachteile mit sich bringen (könnten).
Du brauchst Scnittstellen, die zwischen einer zentralen Datenhaltung und verteilten Daten vermitteln müssen, das ist Sache des DAL.
Auch das ist richtig und auch in ähnlicher Form geplant. Allerdings spräche das doch allgemein gegen Muster Nummer 1? Oder hast Du da noch andere Ansätze?
Ergänzung Klassenhierarchie:
DAL-Baseclass: ORM, sitzt auf einer DB als Data-Layer
Subklassen:
ORM::XML, ORM::INIBeispiel "ORM::XML::branchin": Methode zum Einbau eines aus XML kommenden Verzeichniszweiges in die zentrale Konfiguration.
Die Subklassen beschreiben die Umsetzung/Einbau von XML, INI in die Datenstruktur des ORM. Die Application arbeitet mit einer Datenstruktur oder mit Methoden, die von Baseclass ORM bereitgestellt werden.
Wenn ich Dich richtig verstehe ist dies Entwurfsmuster 2?
[...] Architektur meines CMS, stellt die Position des DAL als Tie-Klasse dar:
Schöne Übersicht! Allerdings geht's dabei ja um die gesamte Anwendung und nicht um die Frage nach den Entwurfsmustern. Hab mir das Bild mal gespeichert (falls ich darf!?). Finde, das ist eine schöne Übersicht, wie die einzelnen Komponenten zusammenspielen können.
Gruß, Dennis
Ps: Du schreibst ja in Perl. Das fand ich persönlich sehr unübersichtlich. Ich möchte keine neue Diskussion "Perl vs. PHP" anzetteln (die gab's ja glaub' ich schon genug), hätte aber eine kurze Frage: Wo liegen _grundsätzlich_ (Syntax ausgenommen!) die Unterschiede zwischen beiden Sprachen? Mir kamen beide vom Umfang her immer relativ ähnlich vor.
Mit grundsätzlich meine ich beispielsweise: Mehrfachvererbung? Implizite Typumwandlung? usw.