Observer und Initialisierung

Anto

Aktives Mitglied
Hallo, ich will mittels Observer Pattern ein Spielfeld initialisieren. Das Feld soll beim Programmstart erscheinen.
Da habe ich nun ein Problem. Mir ist klar dass die Observer die Modelklasse beobachten, die selbst von Observable extenden. Wenn immer im Model etwas geändert wird, springt die update-Methode in den Observern an.
Aber: Das Spielfeld soll ja direkt beim Programmstart erscheinen, da wird doch noch nichts geändert? Wie werfe ich das dann also an?
 
G

Gast2

Gast
In dem Moment, in dem sich der Observer anmeldet, holt er sich den aktuellen Wert aus dem Observable heraus.

Über Ändeurngen wird er dann informiert.
 

faetzminator

Gesperrter Benutzer
2 Möglichkeiten:
- Der Controller lässt das Model die Daten einlesen, beim update() passiert nichts, da es noch keine View gibt
- Die View wird erstellt*, angezeigt und hat schon alles drin
oder
- Der Controller erstellt* ein leeres Model
- Der Controller erstellt* eine View und zeigt diese an
- Der Controller lässt das Model die Daten einlesen, ein update() passiert
- Der Controller erkennt das Update und wirft es weiter an die View, welche dann einen repaint macht


*natürlich muss es nicht im Controller selber erstellt sondern kann per Konstruktor diesem übergeben werden
 

Anto

Aktives Mitglied
Wohl nichts davon....laut dem, wie wir programmieren sollen, wirft der Controller überhaupt nichts an die View, sondern die View ist selbst Observer des Models.
 

Michael...

Top Contributor
Denke, dass hier das MCV Pattern besser geeignet wäre, als das reine Observer Pattern.
Verwendest Du die Observer und Observable Klassen aus der Standard API? Die sind mir oft zu eingeschränkt und ich definiere lieber eigene Interfaces.
Wenn du bei dem Observer Pattern bleiben willst, könntest Du die addObserver(...) des Observables entsprechend überschreiben und bei der Registrierung eines Observers direkt ein "notify" aufrufen. Problematisch wäre, dass hierbei immer alle Observer benachrichtig werden, bei dir gibt es aber ja nur einen.
 

faetzminator

Gesperrter Benutzer
Ach so, ich dachte ihr sollt das nach dem MVC Prinzip machen. Da hört der Controller auf die View (Button Clicks, Contextmenus, was auch immer) und auf das Model (View updaten nach einem Call). Er ist die zentrale Schnittstelle in deinem Programm.
 

Anto

Aktives Mitglied
An sich ist die Idee tatsächlich MVC, aber uns wurde das eben so erklärt, dass die View über Observer beim Model angemeldet sei und nur so überhaupt mit dem Model kommuniziere. Das anmelden erledigt der Controller.
An meinen Vorgaben kann ich auch nichts ändern.

Da ich das erste Mal überhaupt Observer benutze, will ich da jetzt nicht gleich mehr umschreiben als notwendig, ich bin Anfänger.
 
G

Gast2

Gast
Wie gesagt, in dem Moment wo sich der Observer anmeldet, kann er doch auch die Daten auslesen?! Das ist absolut üblich wenn man keine weiteren Abstraktionsschichten einführt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M OOP Design Pattern - "extends Observable implements Observer" Allgemeine Java-Themen 0
GreenTeaYT Verstehe nicht ganz das Observer Pattern in einer Arrayliste? Allgemeine Java-Themen 3
S OOP JFrame als Observer eines JPanel Allgemeine Java-Themen 3
L Registrierung von Observer Allgemeine Java-Themen 4
G 2 Observable und ein Observer... Allgemeine Java-Themen 4
M MVC: PropertyChangeListener vs Java Observer & Observable Allgemeine Java-Themen 11
S Wie kann ein Observer mehrere Observables beobachten? Allgemeine Java-Themen 9
Z Observer/Observable & Grundlagen Allgemeine Java-Themen 6
R Observer Umsetzungsproblem Allgemeine Java-Themen 7
K Verständnisprobleme bei Observer-Pattern mit größerem Datenmodell Allgemeine Java-Themen 32
nrg Java Observer in SysTray laufen lassen / Console schließen Allgemeine Java-Themen 2
T Observer vs Listener Allgemeine Java-Themen 18
A Observer Pattern: feuern bei neuer Referenz-Zuweisung? Allgemeine Java-Themen 8
V Threads und Observer Allgemeine Java-Themen 18
H Observer und Observable Allgemeine Java-Themen 3
U Verständnisschwierigkeiten Observer Pattern Allgemeine Java-Themen 18
B Observer vs Listener (GUI-Programmierung) Allgemeine Java-Themen 5
M Observer serialisieren Allgemeine Java-Themen 7
G Observer / Observable oder doch lieber Message Broker? Allgemeine Java-Themen 2
D Observer/Observable Pattern vs. Listener-Konzept Allgemeine Java-Themen 4
P Observer/TimerTask Allgemeine Java-Themen 3
P Observer Allgemeine Java-Themen 4
N Observer/Observable der JAVA-API od. eigene Implementierung Allgemeine Java-Themen 2
B Observer reagieren beim 2ten mal nicht Allgemeine Java-Themen 23
P Observer, nicht alle updates bearbeiten Allgemeine Java-Themen 2
P Abmelden beim Observer Allgemeine Java-Themen 4
N Observer Pattern Allgemeine Java-Themen 2
M Frage zu update Methode von Observer! Allgemeine Java-Themen 40
lhein Tutorial zu Observer / Observable? Allgemeine Java-Themen 6
G problem mit dem observer pattern Allgemeine Java-Themen 3
S Observable und Observer Allgemeine Java-Themen 10
G Frage zu (mehrfachem) Observable/Observer Allgemeine Java-Themen 2
G Frage zum Observer Pattern Allgemeine Java-Themen 4
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
S Die Initialisierung von Feldern in ableitender Klasse erzwingen..? Allgemeine Java-Themen 16
C Konvention zur Initialisierung von Attributen Allgemeine Java-Themen 4
S einmalige Initialisierung Allgemeine Java-Themen 7
hdi Frage zur Objekt Initialisierung Allgemeine Java-Themen 4
M Initialisierung von Objektvariablen - vor/nach dem this()? Allgemeine Java-Themen 4
V Initialisierung nur im Konstruktor? Allgemeine Java-Themen 14
M Initialisierung Enumuration Allgemeine Java-Themen 15
F Initialisierung von Variablen Allgemeine Java-Themen 11
G Object erstellung und initialisierung. Allgemeine Java-Themen 4
M Initialisierung von Attributen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben