Online
Registriert seit: 10. Jun 2003
Ort: Berlin
9.574 Beiträge
Delphi 11 Alexandria
|
AW: Class Helper als Lösung für zirkuläre Unit-Referenzen
26. Aug 2013, 08:46
In den meisten Fällen lässt sich das auch viel einfacher durch eine saubere Schnittstelle lösen. Denn die Frage ist doch was man von dem Objekt Hund im Objekt Besitzer machen will. Meistens kann man das auch über Events oder ähnliches lösen.
Delphi-Quellcode:
// Zum Beispiel nicht:
Hund.Bellen;
Hund.Besitzer.Schimpfen;
// sondern:
Hund.OnBellt := Besitzer.HundBelltEvent;
procedure TBesitzer.HundBelltEvent;
begin
Schimpfen;
end;
// und dann nur:
Hund.Bellen;
// EDIT:
Interfaces lösen das Problem auch nicht, wenn man tatsächlich eine echte Referenz in beide Richtungen will. Man könnte allerdings die Referenz in einem abgeleiteten Interface unterbringen und nur das Basisinterface zurück referenzieren. Das geht bei Klassen aber auch.
Sebastian Jänicke Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
Geändert von jaenicke (26. Aug 2013 um 08:49 Uhr)
|