Anhang D. Publish-Subscribe-Dienst

Die Verwendung von Raw-Duplex-Callbacks für Ereignisse hat zahlreiche Nachteile. Das Hauptproblem besteht darin, dass es oft zu einer zu starken Kopplung zwischen dem Herausgeber und den Abonnenten kommt. Der Abonnent muss wissen, wo sich alle Veröffentlichungsdienste in der Anwendung befinden und sich mit ihnen verbinden. Ein Publisher, der dem Subscriber nicht bekannt ist, kann ihn nicht über Ereignisse informieren. Das wiederum macht das Hinzufügen neuer Abonnenten (oder das Entfernen bestehender) in einer bereits eingesetzten Anwendung schwierig. Es gibt keine Möglichkeit für einen Abonnenten, sich benachrichtigen zu lassen, wenn jemand in der Anwendung ein bestimmtes Ereignis auslöst. Außerdem muss der Abonnent mehrere, potenziell teure Anrufe bei jedem Herausgeber tätigen, um sich zu abonnieren oder abzumelden. Verschiedene Verlage können das gleiche Ereignis auslösen, bieten aber leicht unterschiedliche Möglichkeiten zum Abonnieren und Abbestellen an, was natürlich die Abonnenten an diese Methoden bindet.

Genauso kann der Herausgeber nur Benachrichtigungen an ihm bekannte Abonnenten senden. Es gibt keine Möglichkeit für den Verleger, ein Ereignis an jeden zu liefern, der es erhalten möchte, oder ein Ereignis zu verbreiten. Außerdem müssen alle Verlage über den notwendigen Code verfügen, um die Liste der Abonnenten und den Veröffentlichungsvorgang selbst zu verwalten. Dieser Code hat fast nichts mit dem Geschäftsproblem zu tun, das der ...

Get Programmierung von WCF-Diensten, 4. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.