T
Timiiih
Gast
Hallo liebe Gemeinde!
Ich möchte hier einmal event listener und Callbacks (zum Beispiel wie in C) miteinander vergleichen und voneinander
abgrenzen. Beides ist dabei im Bezug auf die GUI Programmierung zu sehen, also beispielsweise die Reaktion darauf,
das ein Button geklickt wurde.
Wenn ich das richtig verstehe, kann man bei Callbacks einer Funktion ein Stück ausführbaren Code übergeben
(vgl. Beispiel bei Wikipedia). In diesem Fall würde das also bedeuten, dass ein Button etwas ganz alleine tun
könnte, wenn er ein Event bekommt, oder er könnte via Callback eine Funktion des Apps aufrufen, in dem der Button
verbaut ist (wie genau allerdings? Dafür müsste der Button doch irgendwie sein App kennen? Hierfür ein mini Beispiel wär schön).
Event listener sind doch quasi sehr mit dem Observer pattern verwandt. Hier hätte der Button eine Liste von Zuhörern, die
alle ein Interface implementieren, welches eine Funktion garantiert, die der Button aufrufen kann, wenn er geklickt wurde.
Wenn der Button also geklickt wurde, geht er die Liste seiner Listener durch und ruft besagte Funktion bei jedem einzelnen auf.
Die Listener selbst können diese Funktion dann implementieren und entsprechend reagieren.
Ein Beispiel für die Verwendung von Callbacks in dieser Situation würde mir das ganze vielleicht noch etwas klarer machen. Was sind die Unterschiede, Vorteile, Gemeinsamkeiten?
Danke,
Timiiih
Ich möchte hier einmal event listener und Callbacks (zum Beispiel wie in C) miteinander vergleichen und voneinander
abgrenzen. Beides ist dabei im Bezug auf die GUI Programmierung zu sehen, also beispielsweise die Reaktion darauf,
das ein Button geklickt wurde.
Wenn ich das richtig verstehe, kann man bei Callbacks einer Funktion ein Stück ausführbaren Code übergeben
(vgl. Beispiel bei Wikipedia). In diesem Fall würde das also bedeuten, dass ein Button etwas ganz alleine tun
könnte, wenn er ein Event bekommt, oder er könnte via Callback eine Funktion des Apps aufrufen, in dem der Button
verbaut ist (wie genau allerdings? Dafür müsste der Button doch irgendwie sein App kennen? Hierfür ein mini Beispiel wär schön).
Event listener sind doch quasi sehr mit dem Observer pattern verwandt. Hier hätte der Button eine Liste von Zuhörern, die
alle ein Interface implementieren, welches eine Funktion garantiert, die der Button aufrufen kann, wenn er geklickt wurde.
Wenn der Button also geklickt wurde, geht er die Liste seiner Listener durch und ruft besagte Funktion bei jedem einzelnen auf.
Die Listener selbst können diese Funktion dann implementieren und entsprechend reagieren.
Ein Beispiel für die Verwendung von Callbacks in dieser Situation würde mir das ganze vielleicht noch etwas klarer machen. Was sind die Unterschiede, Vorteile, Gemeinsamkeiten?
Danke,
Timiiih