O programação orientada a eventos refere-se a um modelo de programação de computador, onde os eventos que acontecem são usados para determinar o fluxo de controle de um programa.
Não é um tipo de tecnologia ou linguagem de programação, mas sim uma abordagem que é implementada durante o estágio de desenvolvimento do produto. Basicamente, ele separa a lógica de processamento de eventos do resto do código em um programa.
Esse tipo de programação é projetado para descobrir eventos conforme eles acontecem, usando um procedimento de tratamento de eventos apropriado para lidar com eles, geralmente chamando uma função ou método..
Teoricamente, o estilo desta programação é compatível com todas as linguagens de programação, embora possa ser diferente na forma como é implementado.
Em geral, em um aplicativo orientado a eventos, há um loop principal que “escuta” novos eventos de entrada, disparando uma chamada de função quando eles são detectados. Portanto, sua atuação tem como foco os eventos, decidindo o que executar e em que ordem.
Índice do artigo
O fluxo do programa é dado por eventos que podem ser ações do usuário, mensagens de outros programas, etc., separando a lógica de processamento dos eventos do resto do código de um programa, contrastando assim com o processamento em lote.
Os eventos em si podem variar desde a aceitação ou rejeição de uma solicitação de empréstimo, chamada de evento de alto nível, até o pressionamento de uma tecla pelo usuário, que é um evento de baixo nível..
É usado para escrever programas projetados para serviço sem deixar o computador lento, já que a orientação para serviço consome pouca energia de processamento. Além disso, os serviços geralmente são executados em segundo plano do sistema operacional..
É uma condição que surge durante a execução de um programa e que requer alguma ação por parte do sistema. Cada evento é diferente por natureza, alguns requerem que o programa recupere e exiba certas informações e outros para iniciar alguns cálculos e mudanças de estado..
Os eventos incluem o mouse, o teclado, uma interface de usuário e ações que devem ser acionadas no programa quando ocorrem. Isso significa que o usuário deve interagir com um objeto no programa, como clicar em um botão do mouse, usar o teclado para selecionar um botão, etc..
É uma determinada unidade do programa que é ativada para reagir a um evento. Ou seja, é um tipo de função ou método que executa uma ação específica quando um determinado evento é acionado.
Por exemplo, pode ser um botão que, quando o usuário clica nele, exibe uma mensagem e quando ele clica nesse botão novamente fecha a mensagem.
São funções que decidem qual código executar quando ocorre um evento específico. Usado para selecionar qual manipulador de eventos usar quando um evento ocorre.
É um código específico que roda em um determinado momento. Isso significa que é uma tarefa predefinida a ser realizada.
A atualização do Windows é um exemplo de tempo controlado, onde o usuário pode definir quando atualizar ou quando verificar e baixar a atualização.
Programas orientados a eventos tornaram-se muito comuns. Entre os exemplos mais proeminentes estão processadores de texto, ferramentas de desenho, planilhas, etc..
A maioria dos sistemas de mensagens modernos também segue o padrão orientado a eventos, enquanto os sites de grande escala usam arquiteturas escalonáveis e orientadas a eventos de natureza distribuída. Outros exemplos são:
- Uma tecla foi pressionada (editor de texto).
- Um novo calendário de tarefas está pronto para ser distribuído a todos os funcionários (sistema de gestão).
- Mensagem HTML recebida (servidor web).
- Um padrão de comércio ilegal foi detectado (detecção de fraude).
- Um carro em um jogo de computador colide com outro carro (jogo de corrida).
- Um robô chegou ao seu destino (gestão do armazém em tempo real).
Um exemplo prático de um evento usado na programação baseada em eventos poderia ser um funcionário solicitando uma autorização de trabalho em um sistema. Quando esse funcionário fizer sua solicitação, ele ativará uma notificação que será enviada ao gerente para aprovação..
O gestor pode visualizar os detalhes do pedido, aprová-lo ou rejeitá-lo, atualizando-o no sistema sem a necessidade de iniciar sessões adicionais.
As ações de um programa que segue os fundamentos da programação orientada a eventos são iniciadas por eventos:
- Hardware.
- Agendado.
- Tempo de execução.
- Do sistema operacional.
- Disparado por instruções do usuário fornecidas por meio da interação com a GUI do programa.
Em seu modo mais simples, os programadores devem responder à seguinte pergunta: "O que deve acontecer quando um determinado evento ocorre?".
A seguinte rotina de pseudocódigo mostra como um agendador muito simples pode funcionar. Consiste em um loop principal que funciona continuamente até que ocorra alguma condição de encerramento.
Quando um evento ocorre, o planejador deve determinar o tipo de evento e selecionar um manipulador de eventos apropriado ou manipular o evento se um manipulador de eventos adequado não existir.
Devido à propagação de dados entre vários processadores e manipuladores de eventos.
Esta é a vantagem mais importante da programação orientada a eventos, melhorando a experiência do usuário. Os usuários atuais desejam participar ativamente e não permanecer consumidores passivos.
Portanto, os programas baseados em eventos ajudam os usuários a navegar em sua própria experiência e explorar uma variedade de opções, sem restrições predefinidas..
Essa abordagem de programação tem muitos benefícios para todas as partes interessadas, pois menos decisões precisam ser codificadas permanentemente do que os aplicativos tradicionais..
Muitos eventos são determinados por ações do usuário, em vez de ter codificação avançada para todos os cenários possíveis. Enquanto os aplicativos tradicionais agem, os aplicativos orientados a eventos reagem.
Perfeitamente adequado às tendências recentes da engenharia de software, como computação em nuvem, microsserviços e a necessidade de melhor escalabilidade com sistemas flexíveis e distribuídos.
Elimina a possibilidade de entradas com valores inválidos. Um aplicativo tradicional faz uma pergunta e permite que o usuário digite uma resposta. Os aplicativos orientados a eventos geralmente oferecem um conjunto de opções, como botões ou menus suspensos..
A necessidade de corrigir e ajustar o código existente ao adicionar ou remover módulos é eliminada. O sistema continua a funcionar sem problemas, independentemente de qualquer ajuste.
Portanto, esta programação é adequada para aplicações com fluxos de controle baseados em um conjunto de eventos internos e externos, ao invés de baseados em uma estrutura.
Esta abordagem de programação não é a melhor opção para aplicações pequenas e simples, pois os esforços que devem ser feitos não são sensatos..
O desenvolvimento de um aplicativo orientado a eventos aumenta a complexidade do design e entrega do sistema. Isso ocorre porque as arquiteturas de software tradicionais são baseadas em interações baseadas em solicitações, ao invés de interações baseadas em eventos..
Além disso, uma grande quantidade de preparação também é necessária devido à necessidade de loops de eventos incessantemente dinâmicos..
Deve-se notar que a programação orientada a eventos não substitui a programação estruturada tradicional, mas apenas a complementa.
Metodologias de programação tradicionais ainda são essenciais para escrever o programa geral, enquanto os elementos de codificação orientados a eventos servem apenas para ajudar a projetar a GUI..
A flexibilidade da programação orientada a eventos, que é sua vantagem indiscutível, também se torna uma fraude em certos cenários. Uma dessas manifestações é a imprevisibilidade de um programa orientado a eventos caso ele tenha alterações e um controle mais fraco sobre o sistema em geral..
Embora os programadores gostem de usar a programação orientada a eventos para fazer ajustes sem atrito, como remover ou adicionar alguns módulos funcionais, esses ajustes podem levar a alterações inesperadas na funcionalidade..
Na programação convencional, o sistema descobre muito rapidamente essas anomalias operacionais, fornecendo um relatório ao programador sobre suas causas. No ambiente de programação orientado a eventos, a detecção de tais avarias é menos rápida e fácil.
Como a programação orientada a eventos acaba sendo mais uma abordagem do que um tipo de linguagem, os aplicativos baseados em eventos podem ser criados em qualquer linguagem de programação..
A programação orientada a eventos está transformando o mundo dos serviços de desenvolvimento de software e está se tornando parte integrante do desenvolvimento de hoje. Sua difusão foi estimulada pelo Windows e pela difusão de ambientes visuais.
O caso de uma situação orientada por evento seria semelhante a um despertador definido para realizar uma tarefa específica em um determinado momento, como tocar e comunicar algo que diz: "Acorde!".
Esta abordagem de agendamento é focada em eventos. Suas áreas de aplicação mais comuns incluem a criação de interface gráfica com o usuário (GUI), aplicativos de servidor e desenvolvimento de jogos multijogador..
Enquanto os programas convencionais estabelecem o fluxo de eventos e têm controle sobre as opções do usuário, esta programação mais inovadora serviu para criar a GUI.
A GUI mudou a interação homem-computador, oferecendo aos usuários várias opções na forma de menus suspensos, janelas, botões e caixas de seleção..
Portanto, em vez de seguir a ordem predeterminada de ações definida pelo computador, os usuários podem escolher um dos muitos comandos disponíveis por conta própria..
Além de essa programação ser amplamente aplicada em interfaces gráficas de usuário, também em aplicativos que realizam determinadas ações em resposta à entrada do usuário, como aplicativos da web em JavaScript..
Ainda sem comentários