Olaf Schneider: (PHP5) Klassen mit möglichst wenig Abhängigkeiten verbinden

Beitrag lesen

Hallo OOP- und OOD-erfahrene Programmierer,

ich programmiere ein CMS in php5[1]. Das ganze basiert auf einem eigenen Framework.

Teil 1: Dramatis personae

  • Controller

kümmern sich um die grundliegenden Aufgaben vom Sammeln der Informationen, Ausführen von Aktionen bis zur Seitendarstellung des Ergebnisses.

  • Querybuilder

bauen komplexe SQL-Queries

  • ConfigReader

sammeln Konfigurationsinformationen aus einer xml-Datei. (Welche Tabellen, welche Felder, was ist editierbar, welche 1:n oder n:m-Relationen etc.)

  • XmlContainer

sammelt alle für die Ausgabe nötigen Informationen in einer xml-Struktur (die später per xsl transformiert wird).

Teil 2: Das Drama beginnt

Obwohl einige Controller sich von anderen, teilweise abstrakten Controllern ableiten, bleiben dennoch einige Aufgaben, die immer wieder kehren.

Beispiel: Einen Datensatz des Terminobjektes holen und ins xml schreiben.

Jetzt kommt auch langsam meine Frage ins Spiel: Bei diesen Aufgaben werden mehrere Objekte miteinander verknüpft und dadurch in Abhängigkeit gebracht.

Für das Beispiel müsste eine Klasse Xyz Daten mittels ConfigReader lesen, einen Querybuilder initialisieren, eine Query ausführen und das Ergebnis dem XmlContainer zur Verfügung stellen. Dabei werden schon (mindestens) drei Klassen miteinander verquirlt, die ich eigentlich ganz gerne unabhängig voneinander hätte.

Und jetzt die Frage: Wie macht Ihr das?

  • baut Ihr eine große Helperklasse, die auf alle Objekte Zugriff hat?

  • baut Ihr mehrere Helper, die immer genau zwei Objekte miteinander verbinden?

  • habt Ihr andere/bessere Ideen?

  • Wird alles gut?

Über Antworten, besonders über kompetente ;-) würde ich mich freuen

Gruß
Olaf Schneider

____
[1] Warum tue ich das, obwohl es schon 815 Systeme gibt? Nun:
1: Erfahrungen sammeln und lernen
2: Referenzen vorweisen können
3: Ein System erhalten, welches das tut, was man braucht