Pergunta

Do que eu posso dizer, em Python e Django e, os sinais são simplesmente delegada eventos. Existe alguma coisa que funcionalmente os diferencia da noção típica de eventos em C #, Java, ActionScript, etc?

Foi útil?

Solução

Na verdade, "sinais" têm sido em torno de mais do que eventos têm. Na primeira utilização, um sinal era uma maneira assíncrona para processos para ser notificado de que os acontecimentos tinham ocorrido. Desde Unix é muito mais antiga do que Django (e uma vez que uma grande parte do trabalho Django veio pydispatcher, onde o material original foi feito), o nome pegou.

Os eventos são realmente sinais, pode-se dizer!

Outras dicas

Os sinais normalmente têm uma associação com uma instalação de sistema operacional e eventos são tipicamente definido pelo aplicativo. Em algumas pilhas de tecnologia, o material de nível OS pode ser escondido muito bem que não há uma diferença na API, mas em outros talvez não.

AFAIK Qt teve a primeira implementação de sinal / slot. docs do Qt explicar a metáfora: "Um sinal é emitido quando um determinado evento ocorre". A distinção é tão sutil que a nomenclatura tem sido borrada.

Você pode muito bem perguntar: "Por que não são eventos chamados simplesmente de sinais?". Diferenças na terminologia acontecer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top