weiß nicht mal wie ich es bezeichnen soll
-
Hi,
ich soll so was wie ne Verwaltung von Filialen über eine Zentrale programmieren. Nun hab ich angefangen die Zentrale zu basteln von der ich merere Filialen aus erstellen kann. Mein Problem besteht darin, dass ich nicht weiß, wie ich alle Filialen über Änderungen(die in der Zentrale erfolgen) zur Laufzeit informieren kann. (z.B.: es Wird über die Zentrale ein Chargenpreis festgesetz, mit dem die Filialen arbeiten sollen) Ich weiß nicht mal unter welchem Stickpunkt man da im Internet suchen sollte.
Könnte mir jemand mal einen Tip geben wie man das anstellen kann?
-
Ich verschiebe deinen Thread mal nach "Rund um die Programmierung". Wenn die Technik mal klar ist und du in Java anfängst kannst du ja jederzeit hier her zurück
-
da gibt es sicher verschiedene Möglichkeiten, so generell kann man das nicht sagen.
Wie kommuniziert die Zentrale mit den Filialen?
über das IP Protokoll?
Dann könntest du eine Multicast Nachricht versenden (leider wird Multicast bei IPv4 nur optional unterstützt)ansonsten kannst du auch einfach eine Liste von allen Filialen halten und dann an jede die Nachricht schicken
-
Naja, so hoch habe ich dabei nicht gedacht. Ich weiß auch nicht genau warum der Thread in diese Kategorie verschoben wurde. Ich dachte das ich z.B. eine GUI für die Zentrale erstelle und x GUIs für die Filialen. Hab ich auch schon ausprobiert. Das Problem ist aber, wenn ich in der Zentrale einen Chargenpreis festlegen will und das den Filialen mitteilen möchte, kommt das nur bei der zu letzt erstellten Filiale an. Ich bin mittlerweile auch schon auf ne Idee gekommen, wie man das realisieren könnte. Hat irgendwas mit Observer... und notify... zu tun. Aber so richtig steig ich da nicht dahinter(zumindest noch nicht). Also für meine Zwecke soll das alles auf einem Rechner und innerhalb einer Anwendung passieren. D.h. wenn die Anwendung geschlossen wird ist alles wieder weg.
Oh vielleicht hätte ich noch erwähnen sollen, dass ich mit Java arbeite.
[ Dieser Beitrag wurde am 17.04.2003 um 03:11 Uhr von Kaifhs editiert. ]
-
observer und notify ist da wohl das richtige.
die zentrale hat einfach eine linkedlist.
jede filiale registriert sich dann bei der zentrale
(damit wird die filiale in die linkedlist eingefuegt).
tritt jetzt bei der zentrale ein ereignis ein, z.b.
preisaenderung, laeufst du ueber die linkedlist und rufst
eine bestimmte methode auf.
z.b.:public class Zentrale { private LinkedList ll = new LinkedList(); ... public void anmelden( FilialeInterface f ) { ll.add( f ); } public void ereignisEingetreten() { // bastle Aenderungs objekt zusammen // rufe fuer alle elemente der linkedlist // ereignis( aenderung ) auf } } public interface FilialeInterface { public void ereignis( Aenderung a ); } public class Filiale implements FilialeInterface { public void ereignis( Aenderung a ) { ...hole informationen aus a } }
Aenderung ist eine klasse, die informationen ueber die zentrale
enthaelt (also alles was sich aendert und fuer die filialen von
bedeutung ist).[ Dieser Beitrag wurde am 17.04.2003 um 10:48 Uhr von entelechie editiert. ]