Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Problem mit eigener Architektur: Zirkulärer Unit-Bezug..

  Alt 30. Okt 2007, 13:07
Eine mögliche Lösung für dieses Problem wäre, eine Schnittstelle für den ProgramManager bereitzustellen. Diese implementiert er und übergibt einen Zeiger auf sich selbst beim Erstellen an den SubManager. Du hast also quasi (beispielhaft) einen IProgramManager, und der TSubManager übernimmt als Konstruktorparameter nicht TProgramManager, sondern IProgramManager. Der Nachteil hierbei liegt darin, dass du die Eigenschaften quasi doppelt pflegen muss (einmal im Interface und einmal in der Implementierung.
Oder aber, wenn es nicht auf Geschwindigkeit oder Typsicherheit ankommt, könntest du auch die Eigenschaftsnamen als String übergeben. Dann bräuchte dieses Interface nur noch zwei, drei Methoden für den Zugriff.

Je nachdem, welche Informationen vom ProgramManager der SubManager braucht, kannst du ihm diese vielleicht auch auf anderem Wege zur Verfügung stellen. Wenn es beispielsweise nur eine Handvoll Informationen wie der Registrypfad sind, könnte der ProgramManager diese Information dem SubManager beim Erstellen mitliefern. Alternativ muss das Interface ja nicht alle Eigenschaften des ProgramManager beinhalten, sondern nur die von SubManagern benötigten (wenn es immer dieselben sind).

Edit: Noch eine winzige Kleinigkeit: Parent wird mit einem r geschrieben
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat