Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Programmier-Pattern OBSERVER

  Alt 12. Nov 2012, 12:23
Ich finde, für das Observer Pattern eignet sich hervorragend die Benutzung eines Multicast Events.

In dem gezeigten Beispiel sieht man ja sehr schön, dass der Kontrakt eigentlich nur die GetNewspaper Methode ist.
Das ganze geht ein bisschen in Richtung EBCs, was für Delphianer ja im Grunde nix sonderlich Neues ist.

Der Vorteil dabei ist, dass keine Abhängigkeit auf ein Interface gegeben ist (sieht man in meinem angehangenen Beispiel) - da der Kontrakt ja nur besagt "ich brauche eine GetNewspaper Methode". Wer die wie oder wo implementiert, ist uninteressant.

Auch der Publisher braucht kein spezielles Interface Implementieren, denn das Multicast Event ist im Grunde nix anderes als das Observer Pattern, was über Komposition an Stelle von Vererbung realisiert ist.

Ob man nun zu DSharp greift oder es auf dem herkömmlichen Weg löst, bleibt einem selber überlassen - habe mal beide Wege gezeigt.
Angehängte Dateien
Dateityp: zip Observer.zip (1,5 KB, 141x aufgerufen)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (12. Nov 2012 um 12:27 Uhr)
  Mit Zitat antworten Zitat