Hallo,
ist es schlechter Stil, wenn man einer Methode eines Objekts mitgibt, wer die Methode aufgerufen hat.
Z.B. über eine JTable kann ich Objekte ändern. Wenn ein Objekt geändert wird, schickt es ein Event an alle Objekte, die es beobachten, dazu gehört auch die JTable.
Die JTable muss dann erst das Objekt raussuchen, das geändert wurde und dann die Ansicht aktualisieren. Das dauert bei sehr vielen Objekten. Da aber die JTable ja die Änderungsaktion ausgeführt hat könnte ich dort gleich per TableModelEvent die richtige Zeile (bzw. Zeilen bei mehreren Änderungen) schicken, da ich sie dort noch weiß.
Also wäre es gut, wenn das Objekt an alle Beobachter eine Nachricht schickt, dass es geändert wurde, nur nicht an die JTable (bzw. das Model der JTable oder andere Objekte, die es beobachten), die es geändert hat. Dazu müsste das Objekt immer wissen wer eine Methode aufgerufen hat.
Kann man das so machen oder ist das völliger Blödsinn?
ist es schlechter Stil, wenn man einer Methode eines Objekts mitgibt, wer die Methode aufgerufen hat.
Z.B. über eine JTable kann ich Objekte ändern. Wenn ein Objekt geändert wird, schickt es ein Event an alle Objekte, die es beobachten, dazu gehört auch die JTable.
Die JTable muss dann erst das Objekt raussuchen, das geändert wurde und dann die Ansicht aktualisieren. Das dauert bei sehr vielen Objekten. Da aber die JTable ja die Änderungsaktion ausgeführt hat könnte ich dort gleich per TableModelEvent die richtige Zeile (bzw. Zeilen bei mehreren Änderungen) schicken, da ich sie dort noch weiß.
Also wäre es gut, wenn das Objekt an alle Beobachter eine Nachricht schickt, dass es geändert wurde, nur nicht an die JTable (bzw. das Model der JTable oder andere Objekte, die es beobachten), die es geändert hat. Dazu müsste das Objekt immer wissen wer eine Methode aufgerufen hat.
Kann man das so machen oder ist das völliger Blödsinn?