30.01.2014 Aufrufe

Software aus Komponenten - IPD Goos

Software aus Komponenten - IPD Goos

Software aus Komponenten - IPD Goos

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Prof. Dr. G. <strong>Goos</strong> <strong>Software</strong> <strong>aus</strong> <strong>Komponenten</strong> 36<br />

Beispiel: Rückruf und Ereignisse: Konzepte<br />

Example: Callbacks and Events I<br />

abstract solution<br />

goal: communication client-server whenever a situation<br />

(event, state change) arises at the server requiring action<br />

• Ziel: Kommunikation zwischen Dienstnehmer und Dienstgeber, wenn eine<br />

Situation by the client (Ereignis, Zustandsübergang) im Dienstgeber Aktivität des<br />

Dienstnehmers erfordert<br />

abstract solution: introduce event server between client and<br />

• abstrakte Lösung: Ereignisdienst als Zwischenschicht einführen<br />

server<br />

event<br />

client<br />

server<br />

server<br />

◮ Dienstnehmer abonniert relevante Ereignisse beim Dienstgeber<br />

client notifies event server in advance about all events of interest<br />

relevant“ durch Nebenbedingungen weiter einschränkbar<br />

“interest” ”<br />

◮ Dienstgeber may benachrichtigt constraint by Dienstnehmer mentioning additional über conditions Ereignisse (mit<br />

Nutzdaten)<br />

server notifies event server about all incoming events (state<br />

changes) including additional information<br />

◮ Ereignis kann keinen, einen, oder beliebig viele Dienstnehmer erreichen<br />

event server may notify zero, one or several clients about the event<br />

◮ Synchrone oder asynchrone Benachrichtigung<br />

notification by event server may be synchronous or asynchronous<br />

◮ Ereignisdienst oft im Dienstgeber integriert (Ereignisschleife)<br />

event server often integrated into the server (“event loop”)<br />

Gerhard <strong>Goos</strong>, <strong>Software</strong> from Components, Overview 22

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!