Einzelnen Beitrag anzeigen

_BlackDragon_

Registriert seit: 4. Dez 2007
Ort: Eschweiler
64 Beiträge
 
#1

Architektur / Projektstruktur / zirkuläre Referenz Problem

  Alt 28. Dez 2011, 14:48
Delphi-Version: 2006
Hi Leute.

Suche nun schon seit Stunden für einen Lösungsansatz, leider bisher ohne wirklichen Erfolg, bzw. ohne einen Ansatz der mir so richtig gefällt.

Und zwar möchte ich eine Struktur aufbauen, welche eine noch undefinierte Anzahl an Klassen enthält. Diese würde ich gerne, der Übersicht wegen, in separate Units auslagern. Nun gibt es aber das Problem, das diese sich gegenseitig "kennen" sollen, wodurch aber das Problem von zirkulären Referenzen entstehen würde.

Als Beispiel ziehe mal folgendes Szenario heran. Es existiert eine Klasse TEngine und es existieren mehrere Managerklassen. Nun soll natürlich die Klasse TEngine auch auf die einzelnen Manager zugreifen können und diese sollen natürlich auch die Klasse TEngine kennen um darauf zugreifen zu können.

Delphi-Quellcode:
unit Engine;

interface

uses Manager1; // geht ja nicht

type
  TEngine = class(TObject)
  private
    FManager1: TManager1;
  protected
  public
    property Manager1: TManager1 read FManager1;
  end;
Delphi-Quellcode:
unit Manager1;

interface

uses Engine; // geht ja nicht

type
  TManager1 = class(TObject)
  private
    FEngine: TEngine;
  protected
  public
    constructor Create(e: TEngine);
  end;

...

implementation

TManager1.Create(e: TEngine);
begin
  FEngine := e;
end;
Freue mich auf eure Antworten und Vorschläge.

Greets
  Mit Zitat antworten Zitat