Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
Delphi 11 Alexandria
|
AW: Die alte Leier: Zirkulaere Referenzen, aber warum nicht so: ...?
25. Jul 2017, 20:37
Man kann eine formale zirkuläre Referenz immer durch andere Konstrukte ersetzen. Der Zugriff in beide Richtungen bleibt aber trotzdem erhalten. Sei es über Callbacks oder durch Entkoppelung mit Interfaces.
(Schaust du in den Callstack siehst du in beiden Richtungen die Zugriffe.)
Interfaces haben den Vorteil, dass man auf der Konsumentenseite, sprich bei der Verwendung des Interfaces, keinerlei Bezug auf die Klasse hat, die dieses Interface implementiert. Trotzdem kann man alle im Interface veröffentlichten Methoden frei verwenden.
Bei Callbacks oder Events wie hier im Thread diskutiert trennt man die einzelnen Teile der Implementierung weniger und ist nicht so flexibel. Für einfache Fälle reicht das aber vollkommen aus.
Sebastian Jänicke Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
|