Hallo Robert,
Vorneweg: Ich spreche jetzt lieber mal von Programmlogik und nicht von GPL, da das ganze kein kommerzielles Projekt ist. Ich hoffe, wir meinen das gleiche.
(außerdem verwende ich PHP, falls das von Interesse ist)
Es entsteht dadurch, daß Du keine mehrschichtige Architektur verwendest, sondern Deine Datenzugriffe in die Objekte der Geschäftsprozesslogik GPL reingeknusselt hast.
Ich verstehe nicht ganz, wie Du das meinst. Ich habe durchaus verschiedene Schichten. Ich habe eine Schicht, die den kompletten Datenbankzugriff regelt. Dazu zählen die Klassen 'GalerieBild' und 'Kommentar'. Diese regeln den kompletten Datenzugriff. Dort ist *nichts* an Programmlogik enthalten.
In der Programmlogik verwende ich dann die Objekte und deren Methoden, um auf den Datenbestand zuzugreifen.
Also (vereinfacht):
$liste = $galerie_bild->getList ($aktuelle_galerie);
$liste sieht dann so aus:
array (
array (
'bild_id' => 4,
'beschreibung' => 'Foto von mir',
...
),
array (
'bild_id' => 5,
'beschreibung' => 'Foto von mir',
...
),
...
)
Oder auch:
$res = $galerie_bild->add ($hoehe, $breite, $beschreibung, ...);
Hättest Du eine saubere Trennung zwischen GPL und Datenhaltung, dann würde zum Beispiel Dein Galerieobjekt eine Kollektion von Bildobjekten besitzen, die ihrerseits eine Kollektion von Kommentarobjekten enthalten. Die Frage nach dem Bestücken der Objekte mit ihren Daten aus der DB wird nicht innerhalb der Objekte beantwortet, sondern durch entsprechende Dialoge zwischen der GPL an und der Datenhaltungsschicht.
Könntest Du mir mal ein konkretes Beispiel dafür liefern? (Oder einen Link?)
Viele Grüße,
Christian