php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.01.2010, 17:54  
Erfahrener Benutzer
 
Registriert seit: 24.03.2009
Beiträge: 124
PHP-Kenntnisse:
Fortgeschritten
DarkPrisma befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Observer oder ein anderes muster?

Huhu,

ich steh momentan vor einem problem.

ich habe viele Fenster die, die möglichkeit brauchen sich untereinander zu informieren. ich bin da auf das observer-muster gestoßen. das problem ist, es gibt zwar viele beobachter zu einem fenster, aber wenn sich in den anderen fenstern etwas ändern müssen diese ja auch die anderen informieren. daher denke ich das, dass observer dort nicht wirklich ausreicht. gibts schon ein muster was sich mit dem problem befasst?
DarkPrisma ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.01.2010, 17:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Was für "Fenster" meinst Du? Browserfenster? Das wird wohl nicht klappen..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 25.01.2010, 18:07  
Neuer Benutzer
 
Registriert seit: 25.10.2009
Beiträge: 23
PHP-Kenntnisse:
Fortgeschritten
Babbsdrebbler befindet sich auf einem aufstrebenden Ast
Standard

Warum sollte es nicht?
Es ist zwar ziemlich schwierig und kommt etwas vom normalen Observer Pattern ab aber über Umwege dürfte es gehen.
Man müsste die Änderungen in einer DB speichern.
Jedes Fenster muss dann diese Zustände auslesen.

Dazu muss man aber ein Muster finden wie man das abspeichert.

Wie gesagt, schwierig.
Have fun^^
Babbsdrebbler ist offline   Mit Zitat antworten
Alt 25.01.2010, 18:11  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Sollen diese Fenster bei EINEM User offen sein oder bei verschiedenen? Weil wenn die Fenster in einem Browser offen sind kannst du mit JavaScript ja unter den Fenster kommunizieren. Ansonsten musst du den Umweg über den Server gehen ob man dass dann noch als Observer bezeichnen kann.
Flor1an ist offline   Mit Zitat antworten
Alt 25.01.2010, 18:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

2+ Fenster bei einem User. So habe ich das verstanden.

Würde bedeuten:
Auf jedem möglichen Elemente liegt ein JS Event. Da man nicht zwingend davon ausgehen kann, dass das eine Fenster das andere aufgerufen hat, kann man nicht über opener arbeiten, sondern muß Ajax benutzen. Dann erfolgt ein Ändern-Flag in die Datenbank und auf der anderen (natürlich auch auf der einen) ein permanenter Ajax-Poll auf die DB, ob sich schon was getan hat.*) Selbstredend auch dann, wenn nur ein Fenster offen ist. Wenn ja: Ajax-Abruf der Daten und Zurücksetzen des Flag. Ggf. dann noch JS/Ajax-Notification für ein echtes Observingverhalten innerhalb des Fensters.

Also für mich klingt das nicht nach Observer..

*) Ach ja, den ändernden Client muß man natürlich auch noch hinterlegen, sonst riecht das stark nach Endlosschleife.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 25.01.2010, 19:29  
Erfahrener Benutzer
 
Registriert seit: 24.03.2009
Beiträge: 124
PHP-Kenntnisse:
Fortgeschritten
DarkPrisma befindet sich auf einem aufstrebenden Ast
Standard

hallo,

also mit fenster war nur ein bespiel. dachte das das hier klar ist, weils das software-design forum ist
naja, also das kann man mit den windows fenstern vergleichen. wenn sich in einem fenster was ändert werden die anderen fenster über das informiert. kann man gut sehen wenn man mehrere explorer fenster auf hat und dann was ändert. die anderen zeigen nach ner zeit auch den selben inhalt an.
DarkPrisma ist offline   Mit Zitat antworten
Alt 25.01.2010, 19:35  
¯\_(ツ)_/¯
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.814
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Jaaa aber sowas gibts im Web nicht nativ. Unter Fenster versteh ich primär mal ein Browserfenster. Kann natürlich aber auch eine Box auf einer Webseite sein (z.B. wie bei iGoogle die einzelnen Apps). Von daher solltest du das schon eher spezifizieren denn das kann man nicht mit Fenstern wie bei Windows/Linux/Mac vergleichen.
Flor1an ist offline   Mit Zitat antworten
Alt 26.01.2010, 01:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ganz genau. Wenn Du eine Fachfrage stellen willst, dann benuzte bitte Fachtermini! Unter „Fenster“ kann man sich nunmal nichts vorstellen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 26.01.2010, 09:00  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Wenn du ein Auslöser und ein oder mehrere Observer hast => Observer-Pattern
Wenn du mehrere Auslöser für ein Event und dabei mehrere Observer hast => EventBus-Pattern

Hatte das in JS schonmal geschrieben, vll hilft dir das weiter
PHP-Code:
var EventBus = {
    
observer: {},
    
registerObserver: function(typeobserver) {
        if(!
Object.isFunction(observer.notify))
            throw 
"Observer must own a notify-Method";
        if(!
Object.isArray(EventBus.observer[type]))
            
EventBus.observer[type] = [];
        
EventBus.observer[type].push(observer);
    },
    
removeObserver: function(typeobserver) {
        if(!
Object.isArray(EventBus.observer[type]))
            return;
        
EventBus.observe[type] = EventBus.observe[type].without(observer);
    },
    
fireEvent: function(typeevent) {
        if(!
Object.isArray(EventBus.observer[type]))
            return;
        
EventBus.observer[type].invoke('notify'event);
    }

draco88 ist offline   Mit Zitat antworten
Alt 29.01.2010, 10:15  
Erfahrener Benutzer
 
Registriert seit: 24.03.2009
Beiträge: 124
PHP-Kenntnisse:
Fortgeschritten
DarkPrisma befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von draco88 Beitrag anzeigen
Wenn du ein Auslöser und ein oder mehrere Observer hast => Observer-Pattern
Wenn du mehrere Auslöser für ein Event und dabei mehrere Observer hast => EventBus-Pattern

Hatte das in JS schonmal geschrieben, vll hilft dir das weiter
ja klasse, vielen dank, damit kann ich doch mal was anfangen
DarkPrisma ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Werte von einem Php Script in ein anderes Php Script üergeben WINFO2105 PHP Tipps 2009 5 15.07.2009 20:05
Hilfe mir einem kleinen Muster! Diepers PHP Tipps 2009 3 30.03.2009 08:31
Schlüssel eines Array auf Muster überprüfen und kopieren Crypi PHP Tipps 2008 10 17.11.2008 16:28
Datum bei MySQL in anderes Format Eldra PHP Tipps 2008 2 20.07.2008 12:33
beim letzten Datensatz anderes Icon ausgeben prinzli Datenbanken 16 30.11.2007 23:50
Text aus Array wird nach dem Speichern anderes dargestellt tinchen PHP Tipps 2006 9 01.10.2006 23:40
Events, Observer, Henne-Ei-Problem Basti PHP-Fortgeschrittene 3 09.05.2006 15:53
Wenn bild neugeladen wird ein anderes PHP Tipps 2006 7 12.02.2006 20:23
Script wird in 2 Browsern anderes angezeigt themonk HTML, Usability und Barrierefreiheit 6 02.02.2006 20:24
anderes PHP-Script aufrufen Smily0412 PHP Tipps 2005-2 14 27.10.2005 14:28
anderes Zeichen für "" oder '' PHP Tipps 2005-2 9 16.10.2005 23:30
Etwas anderes als GoogleAdSense... skywalkerluk Beitragsarchiv 2 25.08.2005 12:43
' durch ein anderes Zeichen ersetzen PHP Tipps 2005-2 6 11.08.2005 03:05
Aktuell das eine bild vergangen ein anderes bild PHP Tipps 2005-2 4 13.07.2005 08:24
Werte eines Formulares in ein anderes übernehmen PHP Tipps 2004 2 02.09.2004 13:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
observer endlosschleifen, observer endlosschleife, observer muster, endlosschleife observer, ajax observer php, observer muster endlosschleife, observer pattern php, php observer ajax, observer php, igoogle endlosschleife, ajax observer, oder ein anderes muster, observe events, php event observer pattern, php eventbus, ajax observer polling, ajax polling observer, programm muster php, endlosschleifen observer, observer pattern endlosschleife

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum