kostenloser Webspace werbefrei: lima-city


Observer Pattern / Listener Pattern

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    myhead

    myhead hat kostenlosen Webspace.

    Nabend,

    ich hab da ein Problem, unzwar habe ich eine Klasse MeinService extends Service ...dieser soll nun eigl. noch ein extends von Observable bekommen, nur das geht ja leider nicht... gibts nicht trotzdem eine Möglichkeit dieses Observer Pattern umzusetzen?

    Ich hab jetzt auch von dem Listener Pattern gehört, ist es im Prinzip dasselbe wie das Observer Pattern??

    vielen dank schon mal :D
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo myhead,

    ich gehe jetzt mal von java.xml.ws.Service aus. D.h. Deine Klasse ist ein Client für einen Webservice.
    Wie man das Problem löst, hängt davon ab, was Du mit Deiner Klasse machen willst.
    Wenn Du zwar den Zugriff auf den Webservice innerhalb der Klasse benötigst, aber es von außen nicht wichtig ist, dass das Objekt ein Service ist, dann ginge folgendes:
    - Leite Deine Klasse anstelle von Service von Observable ab.
    - Baue ein Service-Objekt als privaten Member in die Klasse ein.

    Wenn Deine Klasse unbedingt vom Typ Service sein muss, dann musst Du auf Observable verzichten und liegst mit dem Listener schon ganz richtig. Ein Listener ist ein Objekt, das auf Ereignisse reagiert. Dazu musst Du einerseits eine von java.util.EventObject abgeleitete Klasse und ein dazugehöriges Interface erstellen. Alle Objekte, die dann das Ereignis empfangen sollen müssen dieses Interface implementieren. Damit kannst Du andere Objekte über Datenänderungen informieren.
    Ein kurzes Beispiel dazu findest Du z.B. hier und etwas auführlicher mit Mr. Happy Object hier :smile:

    Edit: Mr. Happy Object!

    Beitrag zuletzt geändert: 9.6.2011 2:54:59 von darkpandemic
  4. Autor dieses Themas

    myhead

    myhead hat kostenlosen Webspace.

    Hey danke, hat mir sehr geholfen.

    Es gibt aber einen weg es doch mit Observer zu machen, unzwar mit einer inneren klasse, wobei die äußere klasse dann ein Attribut vom Typ der inneren Klasse hat.

  5. Hallo myhead,

    so populär Design Patterns auch sein mögen, versuche nicht, sie nur ihrer selbst wegen zu verwenden. Wenn du dich schwer tust, ein Pattern anzuwenden, dann kann das auch daran liegen, dass dein Problem nicht für das Pattern geeignet ist.

    Ich will dir die Verwendung von Patterns nicht ausreden, aber sie müssen schon passen. "Vor Re-use kommt use!" ;-)

    Gruß

    Udo
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!