Programação orientada a eventos
Origem: Wikipédia, a enciclopédia livre.
Programação orientada a eventos é um paradigma de programação. Diferente de programas tradicionais que seguem um fluxo de controle padronizado, o controle de fluxo de programas orientados a evento são guiados por indicações externas, chamadas eventos. Sua aplicação é grande no desenvolvimento de sistemas de interface com o usuário.
Índice |
[editar] Visão geral
Diferente de aguardar por um comando completo que processa a informação, o sistema em tal paradigma é programado em sua base em um laço de repetição de eventos, que recebem repetidamente informação para processar e disparam uma função de resposta de acordo com o evento.
O método pelo qual a informação é adquirida por camadas mais baixas do sistema é irrelevante. As entradas podem ser enfileiradas ou uma interrupção pode ser registrada para reagir, ou ainda ambos.
Programas orientados a evento geralmente consistem em vários pequenos tratadores, programas que processam os eventos para produzir respostas, e um disparador, que invoca os pequenos tratadores. Outra alternativa consiste em disparar os tratadores por eles próprios, criando um efeito de evento em cascata.
Esse método é bastante flexível e permite um sistema assíncrono. Programas com interface com o usuário geralmente utilizam tal paradigma. sistemas operacionais também são outro exemplo de programas que utilizam programação orientada a eventos, este em dois níveis. No nível mais baixo encontram-se o tratamento de interrupções como tratadores de eventos de hardware, com a CPU realizando o papel de disparador. No nível mais alto encontram-se os processos sendo disparados novamente pelo sistema operacional.
Um interpretador de comandos pode ser visto como um caso especial de modelo orientado a eventos, no qual o sistema, até então inativo, espera um comando para ser disparado através das instruções do usuário.
[editar] Referências
- Grant Palmer: Java Event Handling, Prentice Hall, ISBN 0-13-041802-1
- David Luckham: The Power of Events - An Introduction to Complex Event Processing in Distributed Enterprise Systems, Addison-Wesley, ISBN 0-201-72789-7
- George S. Fishman: Discrete-Event Simulation - Modeling, Programming, and Analysis, Springer, ISBN 0-387-95160-1
- Bertrand Meyer (2004): The power of abstraction, reuse and simplicity: an object-oriented library for event-driven design, in Festschrift in Honor of Ole-Johan Dahl, eds. Olaf Owe et al., Springer-Verlag, Lecture Notes in Computer Science 2635, also available online.
- Miro Samek: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems, CMP Books, ISBN 1-57820-
[editar] Ver também
[editar] Ligações externas
- ((en)) Tutorial "Programação orientada a evento: Introdução, Tutorial, História" por Stephen Ferg
- ((en)) Artigo "O estilo de programação orientada a evento" por Chris McDonald
- ((en)) Artigo "Programação orientada a evento usando Especialização de Template" por Christopher Diggins