Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Wie umgehe ich das Problem? Mir fällt da auf anhieb nur ein Modul B komplett unabhängig von A zu entwickeln.
Hintergrund ist, dass ich in den zwei Modulen auf die gleiche Datenstruktur zugreifen will, aber diese Datenstruktur in Modul A erzeugt wird. Die Datenstruktur in ein Model C zu verschieben wäre vielleicht eine Lösung. Dies ist aber etwas umständlich. Was sagt ihr?
* keinen Code auf Modulebene haben, sondern hübsch mit Funktionen arbeiten und Daten ausschließlich als Parameter übergeben. Dann kann man eine Datenstruktur auch wunderbar in anderen Modulen verwenden (indem eine Funktion in A eine Funktion in B aufruft und die DS übergibt);
* Wenn zwei Module inhaltlich so eng verzahnt sind, daß wechselseitige Abhängigkeiten bestehen, dann sollte man sie zu einem Modul zusammenfassen.
Parameterübergabe bei jedem Aufruf finde ich einfach hässlich.
Wie geht ihr denn generell mit dem Problem um:
In Model-View Implementierungen kommt es ja oft vor, dass man viele kleine Klassen hat, die ineinander verschachtelt sind. Wenn jetzt das letzte Ui-Element (ganz unten in der Objekhierarchie) auf eine Datenstruktur zugreifen will, dann wäre es doch ganz einfach, dass ganze über eine globale Variable zu lösen und nicht eine Referenz der Variable in allen Ebenen weiterzureichen. Da entsteht doch Augenkrebs.
@anogayales: Nein da bekommt man keinen Augenkrebs. Ich bekomme den eher bei globalen Variablen. Das ist unflexibel, schlecht zu testen, und fehleranfällig. Saubere Entwürfe sind halt nicht immer das einfachste was irgendwie zum Ergebnis führt.