Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#5

AW: Architektur / Projektstruktur / zirkuläre Referenz Problem

  Alt 28. Dez 2011, 16:23
Du verwendest D2006, so dass ich mir den Hinweis auf das Spring-DI-Framework sparen kann.

Aber natürlich steht Dir mit den Interfaces ein Konzept zur Verfügung, mit dem Du schön modularisieren kannst, ohne Dich mit zirkulären Referenzen plagen zu müssen.

Delphi-Quellcode:
unit uInterfaces
interface

uses
  Engine, Manager1;

type
  IManager1 = interface
    [Shift+Strg+G]
  end;

  IEngine = interface
    [Shift+Strg+G]
    function GetManager1 : IManager1;
    property Manager1: IManager1 read GetManager1;
  end;
Delphi-Quellcode:
unit Engine;
interface
implementation
uses
  uInterfaces;

type
  TEngine = class(TInterfacedObject, IEngine)
  private
    FManager1: IManager1;
    function GetManager1 : IManager1;
  end;
Delphi-Quellcode:
unit Manager1;
interface
implementation
uses
  uInterfaces;

type
  TManager1 = class(TInterfacedObject, IManager1)
  private
    FEngine: IEngine;
  protected
  public
    constructor Create(e: IEngine);
  end;
Andreas

Geändert von neo4a (28. Dez 2011 um 16:27 Uhr) Grund: Reihenfolge in uInterface angepasst
  Mit Zitat antworten Zitat