Zunächst benötigen Sie eine Quelle von Ereignissen, so dass Sie den Hörer anhängen können. Wenn Sie einen benutzerdefinierten Listener benötigen, müssen Sie auch die benutzerdefinierte Quelle implementieren.
In Java können Sie vorhandene Quellen und listener
Schnittstellen finden. Wie Sie bereits erwähnt haben, basiert GUI normalerweise auf Ereignissen. Wenn Sie in 3D sind, dann liefern Rendering-Engines entsprechende API (zB collision detection
), Dateisystem-Hooks, Eigenschaften ändern Listener (Android
).
Es hängt davon ab, was Ihre Bedürfnisse sind. Für die meisten Anwendungen sollte es bereits eine Bibliothek geben, die Ihnen die passende API liefert.
Während Sie Ihre eigene Lösung implementieren, ist der Event Bus für eine anwendungsübergreifende Ereignisbehandlung eine gute Wahl. Meine bevorzugte Implementierung ist in Guava Bibliothek: http://code.google.com/p/guava-libraries/wiki/EventBusExplained
Sie können Listen auch von Zuhörern fernhalten. Dann statt setListener Methode create addListener(), removeListener(), removeAllListeners(); –
Das funktioniert wie das Beobachtermuster, oder? –
@WlofrevoKcast Ja - es ist das Beobachtermuster. – assylias