Question

D'après ce que je peux dire, en Python et Django, les signaux sont simplement des événements délégués. Existe-t-il quelque chose qui les différencie sur le plan fonctionnel de la notion typique d'événements en C #, Java, ActionScript, etc.?

Était-ce utile?

La solution

En fait, "signaux" ont été autour depuis plus longtemps que les événements ont. Lors de la première utilisation, un signal était un moyen asynchrone pour que les processus soient avertis que des événements s'étaient produits. Depuis qu'Unix est beaucoup plus vieux que Django (et comme une grande partie du travail de Django vient de pydispatcher, où le travail original a été fait), le nom est resté.

Les événements sont vraiment des signaux, pourrait-on dire!

Autres conseils

Les signaux sont généralement associés à une installation du système d'exploitation et les événements sont généralement définis par l'application. Dans certaines piles technologiques, les éléments au niveau du système d'exploitation peuvent être suffisamment cachés pour qu'il n'y ait pas de différence dans l'API, mais pas dans d'autres.

Afaik Qt a eu la première implémentation de signal / slot. Les la documentation de Qt expliquent la métaphore: "Un signal est émis lorsqu'un événement particulier se produit "" . La distinction est si subtile que la nomenclature a été brouillée.

Vous pourriez aussi bien demander "Pourquoi les événements ne sont-ils pas simplement appelés des signaux?". Des différences de terminologie se produisent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top