Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Observer-Pattern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    dass mehrere Workers "gleichzeitig" aktiv sind
    Das meine ich. Nun ist (in einem Request) Parallelität nicht wirklich abbildbar, deswegen hinkt irgendwie das ganze Beispiel.
    Observer in PHP muss man deswegen vermutlich etwas anders bewerten, als in Echtzeitapplikationen. Sie dienen hier wohl mehr zur Entkoppelung von Objekten als zur Eventsteuerung.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #17
      Zitat von nikosch Beitrag anzeigen
      Nun ist (in einem Request) Parallelität nicht wirklich abbildbar, deswegen hinkt irgendwie das ganze Beispiel.
      Observer in PHP muss man deswegen vermutlich etwas anders bewerten, als in Echtzeitapplikationen. Sie dienen hier wohl mehr zur Entkoppelung von Objekten als zur Eventsteuerung.
      Ja, stimmt auch wieder.
      Aber meinst Du wirklich "Entkopplung", denn eigentlich werden die Objekte doch gerade durch das Pattern aneinander gekoppelt (Worker <-> Contact <-> Boss)?

      Dürfte ich jetzt nochmals meine zweite Frage aus meinem ersten Beitrag aufgreifen, in wie weit das Pattern für Erweiterungen geeignet ist, man also beispielsweise durch ein PlugIn einen zusätzlichen Observer hinzufügt.

      Hierzu habe ich mir aber in der Zwischenzeit mal Gedanken gemacht :
      In den eigentlichen Programmablauf komme ich ja nicht rein, es sei denn ich würde die Observers eines Observeable-Objektes beispielweise in einer Datendank speichern, also vereinfach ausgedrückt so:
      Code:
      Observeable | Observer
      Hier müsste ich dann natürlich bevor ich ein Observeable-Objekt instanziiere (bzw. bevor ich ihm seine Observer bekannt mache) die Observers aus der Datenbank laden. Hier könnte sich dann ein PlugIn relativ einfach einklinken, indem es einfach einen zusätzlichen Datenbankeintrag anlegt.

      Wäre das eine realistische Vorgehensweise?
      Kardey

      Kommentar


      • #18
        Zitat von Kardey Beitrag anzeigen
        Ja, stimmt auch wieder.
        Aber meinst Du wirklich "Entkopplung", denn eigentlich werden die Objekte doch gerade durch das Pattern aneinander gekoppelt (Worker <-> Contact <-> Boss)?
        Die Kopplung ist aber deutlich loser als ohne das Pattern. Sonst müsstest du z.b. direkt in den Code des Observables reinschreiben "sags dem und jenem und hier noch". So kann es dem Observable vollkommen gleichgültig sein wer es beobachtet, ich habe jetzt dein Worker/Contact/Boss Beispiel nicht nachvollzogen, aber der doppelte Pfeil ist dort wohl falsch. Sollte Worker observable sein und Boss der Observer dann passt "Worker <- Boss" besser.

        Kommentar


        • #19
          Zitat von cetalian Beitrag anzeigen
          Die Kopplung ist aber deutlich loser als ohne das Pattern. Sonst müsstest du z.b. direkt in den Code des Observables reinschreiben "sags dem und jenem und hier noch". So kann es dem Observable vollkommen gleichgültig sein wer es beobachtet
          Stimmt auch wieder.

          Zitat von cetalian Beitrag anzeigen
          ich habe jetzt dein Worker/Contact/Boss Beispiel nicht nachvollzogen, aber der doppelte Pfeil ist dort wohl falsch. Sollte Worker observable sein und Boss der Observer dann passt "Worker <- Boss" besser.
          Meine doppelten Pfeile sollten eher die Kopplung symbolisieren, wobei Deine Wahl der Pfeile bezogen auf das Observer/Observeable-Verhältnis natürlich besser passen.
          Kardey

          Kommentar


          • #20
            Die Frage mit den Plugins verstehe ich nur halb. Grob skizziert:

            - Grundlegend hindert Dich niemand daran, mehere Observer zu verwenden
            - Willst Du einen bestehenden Observer verwenden, muss das observered Object eine Schnittstelle bedienen, die dem Observer bekannt ist.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #21
              Okay.
              Ich habe mittlerweile auch ein Buch gefunden, dass thematisch gut passt und dass ich mir zulegen werde, wobei ich da auch schon beim Drüberlesen ein anderes Pattern gefunden habe, das vielleicht dem, was ich im Kopf habe, eher entspricht.

              Abschließend vielen Dank für Deine Hilfe, nikosch .
              Kardey

              Kommentar

              Lädt...
              X