Guten Abend allerseits,
hab hier mal eine Design-Frage. Kann man folgenden Code der über 3 Units geht besser gestalten,
ausser alles in einer
Unit zu speichern. Da verlier ich nämlich sonst den Überblick.
Das ganze funktioniert zwar aber ich bin mir nicht sicher ob das "professionel" ist.
Ich poste hier auch nur die relevanten Teile und eine verkürzte Fassung, sprich die
Public-Variablen werden noch ersetzt.
Delphi-Quellcode:
unit UTestObj;
interface
uses
Unit2, Unit3;
type
TTestObj =
class(TObject)
private
KlasseAusUnit2 : TKlasseAusUnit2;
KlasseAusUnit3 : TKlasseAusUnit3;
public
constructor Create;
end;
implementation
constructor TTestObj.Create;
begin
inherited Create;
KlasseAusUnit2 := TKlasseAusUnit2.Create;
// KlasseAusUnit3 erstellen und KlasseAusUnit2 übergeben
KlasseAusUnit3 := TKlasseAusUnit3.Create(KlasseAusUnit2);
// Von KlasseAusUnit3 aus in KlasseAusUnit2 lesen und schreiben
KlasseAusUnit3.TuWas;
// weiter mit KlasseAusUnit2 arbeiten
ShowMessage(KlasseAusUnit2.Blup.Wert);
end;
Delphi-Quellcode:
unit Unit2;
interface
type
TKlasseAusUnit2 =
class(TObject)
public
Blub : TIrgendeineKlasse;
constructor Create;
end;
implementation
constructor TKlasseAusUnit2.Create;
begin
inherited Create;
Blub := TIrgendeineKlasse.Create;
end;
Delphi-Quellcode:
unit Unit3;
interface
uses
Unit2;
type
TKlasseAusUnit3 =
class(TObject)
private
UebergabeAusTestObj: TKlasseAusUnit2;
public
constructor Create(Test: TKlasseAusUnit2);
procedure TuWas;
end
implementation
constructor TKlasseAusUnit3.Create(Test: TKlasseAusUnit2);
begin
inherited Create;
UebergabeAusTestObj := Test;
end;
procedure TKlasseAusUnit3.TuWas;
begin
UebergabeAusTestObj.Blub.Wert := '
Test';
end;
mfG burn