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