Hallo, ich habe nicht viel Erfahrung mit Java und stehe vor einem Problem, es wäre schön wenn mir jemand wenigstens einen Tipp geben könnte.
Ich schreibe ein Programm, das aus den folgenden Klassen besteht:
- App: Testklasse, Hauptprogramm, instanziert andere Klassen
- View: GUI (Formular, Buttons, usw)
- Event (externe Event-Klasse zum Eventhandling, wird in der View-Klasse benötigt)
- sonstige Klassen die bestimmte Aufgaben durchführen, z.b. Datenbank-Klasse, Print-Klasse usw.
Nun will ich auf verschiedene Ereignisse der View-Klasse reagieren und Änderungen
in anderen Klassen vornehmen,
z.B. beim Klicken auf Drucken-Button einen Druckvorgang in der Print-Klasse starten,
oder in der Datenbank-Klasse eine Abfrage starten
Ich weiss nicht wie man in solchen Fällen am besten vorgeht,
alle Klassen werden bei mir in der App-Klasse instanziert,
von der Event-Klasse aus kann ich nicht auf diese Objekte zugreifen um sie zu ändern.
Den Observer-Pattern habe ich mir auch schon angeschaut,
und wenn ich es richtig verstanden habe kann es mir nicht weiterhelfen.
(Ich will ja nicht mehrere Objekte bei einem bestimmten Ereignis
benachrichtigen, sondern ich will bei einem bestimmten Ereignis
Methoden eines bestimmten Objektes aufrufen.)
Geht das mit meiner aktuellen Klassenstruktur,
- oder soll ich dann alles in der Eventklasse instanzieren
(was vermutlich ein schlechter Programmierstill wäre)
- oder geht es doch mit dem Observer-Pattern?
- oder gibt es eine bessere Lösung?
Ich schreibe ein Programm, das aus den folgenden Klassen besteht:
- App: Testklasse, Hauptprogramm, instanziert andere Klassen
- View: GUI (Formular, Buttons, usw)
- Event (externe Event-Klasse zum Eventhandling, wird in der View-Klasse benötigt)
- sonstige Klassen die bestimmte Aufgaben durchführen, z.b. Datenbank-Klasse, Print-Klasse usw.
Nun will ich auf verschiedene Ereignisse der View-Klasse reagieren und Änderungen
in anderen Klassen vornehmen,
z.B. beim Klicken auf Drucken-Button einen Druckvorgang in der Print-Klasse starten,
oder in der Datenbank-Klasse eine Abfrage starten
Ich weiss nicht wie man in solchen Fällen am besten vorgeht,
alle Klassen werden bei mir in der App-Klasse instanziert,
von der Event-Klasse aus kann ich nicht auf diese Objekte zugreifen um sie zu ändern.
Den Observer-Pattern habe ich mir auch schon angeschaut,
und wenn ich es richtig verstanden habe kann es mir nicht weiterhelfen.
(Ich will ja nicht mehrere Objekte bei einem bestimmten Ereignis
benachrichtigen, sondern ich will bei einem bestimmten Ereignis
Methoden eines bestimmten Objektes aufrufen.)
Geht das mit meiner aktuellen Klassenstruktur,
- oder soll ich dann alles in der Eventklasse instanzieren
(was vermutlich ein schlechter Programmierstill wäre)
- oder geht es doch mit dem Observer-Pattern?
- oder gibt es eine bessere Lösung?