Was ist ein Handler [geschlossen]


85

Hallo, ich versuche, einige programmierbezogene Begriffe zu lernen, und ich komme oft über den Worthandler. Kann jemand bitte erklären, was Handler bedeutet und wann der Begriff zu verwenden ist.

Antworten:


84

Ein Handler ist eine Routine / Funktion / Methode, die auf einen bestimmten Datentyp spezialisiert ist oder sich auf bestimmte spezielle Aufgaben konzentriert.

Beispiele:

  • Ereignishandler - Empfängt und verarbeitet Ereignisse und Signale vom umgebenden System (z. B. Betriebssystem oder GUI).

  • Speicherhandler - Führt bestimmte spezielle Aufgaben im Speicher aus.

  • Dateieingabehandler - Eine Funktion, die Dateieingaben empfängt und spezielle Aufgaben für die Daten ausführt, natürlich abhängig vom Kontext.


5
Signalhandler - zur Behandlung von Signalereignissen.
Jonathan Leffler

12

Code, der mit dem Auftreten eines bestimmten Ereignisses verknüpft ist und durch dieses ausgelöst wird, z. B. eine eingehende Nachricht, eine ausgelöste Ausnahme, ein an einen Prozess gesendetes Signal, eine abgeschlossene Netzwerk-E / A-Anforderung oder ein Mausklick auf ein Benutzeroberflächenelement. Es ist ein sehr allgemeiner Begriff.


2
Das ist ein Event-Handler. Das OP fragte nach dem weniger spezifischen Begriff "Handler".
Jimbo

8

Ich denke, es ist ein sehr allgemeiner Begriff ohne eine "harte" Definition. Die Bedeutung ist sehr kontextabhängig und variiert je nach allgemeinem Code-Design.

Für mich bedeutet dies normalerweise einen Code, der von einem inneren Kern aufgerufen wird und einige Dinge tun und zurückkehren soll. Für diesen "inneren" Teil können mehrere "Handler" verfügbar sein, und es wird ausgewählt, welcher aufgerufen werden soll.

In einigen Fällen definieren Sie eine API, um diese Handler größtenteils austauschbar zu machen, sodass der Aufrufer einen aus einer Tabelle auswählen und denselben Code verwenden kann, um einen von ihnen aufzurufen. OOP hilft hier sehr.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.