Il programmazione orientata agli eventi si riferisce a un modello di programmazione per computer, in cui gli eventi che si verificano vengono utilizzati per determinare il flusso di controllo di un programma.
Non è un tipo di tecnologia o linguaggio di programmazione, ma piuttosto un approccio che viene implementato durante la fase di sviluppo del prodotto. Fondamentalmente, separa la logica di elaborazione degli eventi dal resto del codice in un programma.
Questo tipo di programmazione è progettato per scoprire gli eventi nel momento in cui si verificano, utilizzando una procedura di gestione degli eventi appropriata per gestirli, di solito chiamando una funzione o un metodo..
Teoricamente, lo stile di questa programmazione è compatibile con tutti i linguaggi di programmazione, sebbene possa essere diverso nel modo in cui è implementato.
In generale, in un'applicazione basata sugli eventi è presente un loop principale che "ascolta" i nuovi eventi in arrivo, attivando una chiamata di funzione quando vengono rilevati. Pertanto, il suo funzionamento si concentra sugli eventi, decidendo cosa eseguire e in quale ordine.
Indice articolo
Il flusso del programma è dato da eventi che possono essere azioni dell'utente, messaggi da altri programmi, ecc., Separando la logica di elaborazione degli eventi dal resto del codice di un programma, contrastando così con l'elaborazione in batch.
Gli eventi stessi possono variare dall'accettazione o dal rifiuto di una richiesta di prestito, chiamato evento di alto livello, alla pressione di un tasto da parte di un utente, che è un evento di basso livello..
Viene utilizzato per scrivere programmi progettati per il servizio senza rallentare il computer, poiché l'orientamento al servizio consuma solo poca potenza di elaborazione. Inoltre, i servizi vengono generalmente eseguiti in background del sistema operativo..
È una condizione che si verifica durante l'esecuzione di un programma e che richiede un'azione da parte del sistema. Ogni evento è diverso per natura, alcuni richiedono che il programma recuperi e visualizzi determinate informazioni e altri per avviare alcuni calcoli e modifiche di stato..
Gli eventi includono il mouse, la tastiera, un'interfaccia utente e le azioni che dovrebbero essere attivate nel programma quando si verificano. Ciò significa che l'utente deve interagire con un oggetto nel programma, come fare clic su un pulsante del mouse, utilizzare la tastiera per selezionare un pulsante, ecc..
È una determinata unità del programma che viene attivata per reagire a un evento. Cioè, è un tipo di funzione o metodo che esegue un'azione specifica quando viene attivato un determinato evento.
Ad esempio, potrebbe essere un pulsante che quando l'utente fa clic su di esso visualizza un messaggio e quando fa nuovamente clic su quel pulsante chiude il messaggio.
Sono funzioni che decidono quale codice eseguire quando si verifica un evento specifico. Utilizzato per selezionare quale gestore di eventi utilizzare quando si verifica un evento.
È un codice specifico che viene eseguito in un determinato momento. Ciò significa che è un'attività preimpostata da eseguire.
Windows Update è un esempio di tempo controllato, in cui l'utente può impostare quando aggiornare o quando controllare e scaricare l'aggiornamento.
I programmi orientati agli eventi sono diventati molto comuni. Tra gli esempi più importanti ci sono l'elaborazione di testi, strumenti di disegno, fogli di calcolo, ecc..
Anche la maggior parte dei moderni sistemi di messaggistica segue il modello basato sugli eventi, mentre i siti Web su larga scala utilizzano architetture scalabili e basate sugli eventi di natura distribuita. Altri esempi sono:
- È stato premuto un tasto (editor di testo).
- Un nuovo calendario delle attività è pronto per essere distribuito a tutto il personale (sistema gestionale).
- Messaggio HTML ricevuto (server web).
- È stato rilevato un modello di commercio illegale (rilevamento di frodi).
- Un'auto in un gioco per computer si scontra con un'altra macchina (gioco di corse).
- Un robot è arrivato a destinazione (gestione magazzino in tempo reale).
Un esempio pratico di un evento utilizzato nella programmazione basata sugli eventi potrebbe essere un dipendente che richiede un permesso di lavoro su un sistema. Quando questo dipendente emette la sua richiesta, attiverà una notifica che verrà inviata al manager per l'approvazione..
Il gestore potrebbe visualizzare i dettagli della richiesta, approvarla o rifiutarla, aggiornandola nel sistema senza la necessità di avviare sessioni aggiuntive.
Le azioni di un programma che segue i fondamenti della programmazione orientata agli eventi sono avviate da eventi:
- Hardware.
- Programmato.
- Tempo di esecuzione.
- Dal sistema operativo.
- Attivato dalle istruzioni dell'utente fornite tramite l'interazione con la GUI del programma.
Nella sua modalità più semplice, i programmatori devono rispondere alla seguente domanda: "Cosa dovrebbe accadere quando si verifica un determinato evento?".
La seguente routine di pseudo-codice mostra come potrebbe funzionare uno scheduler molto semplice. Consiste in un ciclo principale che viene eseguito continuamente finché non si verifica una condizione di terminazione.
Quando si verifica un evento, lo scheduler deve determinare il tipo di evento e selezionare un gestore di eventi appropriato, o gestire l'evento se non esiste un gestore di eventi adatto.
A causa della propagazione dei dati tra più processori e gestori di eventi.
Questo è il vantaggio più importante della programmazione orientata agli eventi, migliorando l'esperienza dell'utente. Gli utenti attuali vogliono partecipare attivamente e non rimanere consumatori passivi.
Pertanto, i programmi basati su eventi aiutano gli utenti a navigare nella propria esperienza ed esplorare una varietà di opzioni, senza restrizioni preimpostate..
Questo approccio di programmazione presenta molti vantaggi per tutte le parti interessate, in quanto è necessario codificare meno decisioni rispetto alle applicazioni tradizionali..
Molti eventi sono determinati dalle azioni dell'utente, piuttosto che dalla codifica avanzata per tutti i possibili scenari. Mentre le applicazioni tradizionali agiscono, le applicazioni guidate dagli eventi reagiscono.
Perfettamente adatto alle recenti tendenze dell'ingegneria del software come il cloud computing, i microservizi e la necessità di una migliore scalabilità con sistemi flessibili e distribuiti.
Elimina la possibilità di voci con valori non validi. Un'applicazione tradizionale pone una domanda e consente all'utente di digitare una risposta. Le applicazioni guidate dagli eventi di solito offrono una serie di opzioni, come pulsanti o come menu a discesa..
La necessità di correggere e regolare il codice esistente quando si aggiungono o rimuovono moduli viene eliminata. Il sistema continua a funzionare senza problemi indipendentemente da tale regolazione.
Pertanto, questa programmazione è adatta per applicazioni con flussi di controllo basati su un insieme di eventi interni ed esterni, piuttosto che sulla base di una struttura.
Questo approccio di programmazione non è l'opzione migliore per applicazioni piccole e semplici, perché gli sforzi che devono essere fatti non risultano essere sensati.
Lo sviluppo di un'applicazione basata sugli eventi aumenta la complessità della progettazione e della consegna del sistema. Questo perché le architetture software tradizionali si basano su interazioni basate su richiesta, piuttosto che su interazioni guidate da eventi..
Inoltre, è richiesta anche una grande quantità di preparazione a causa della necessità di loop di eventi dinamici incessantemente..
Va notato che la programmazione orientata agli eventi non sostituisce la programmazione strutturata tradizionale, ma la completa.
Le metodologie di programmazione tradizionali sono ancora essenziali per la scrittura del programma generale, mentre gli elementi di codifica basati sugli eventi servono solo per aiutare a progettare la GUI..
La flessibilità della programmazione orientata agli eventi, che è il suo vantaggio indiscusso, diventa anche una frode in determinati scenari. Una di queste manifestazioni è l'imprevedibilità di un programma orientato agli eventi nel caso in cui abbia cambiamenti e un controllo più debole sul sistema in generale..
Sebbene ai programmatori piaccia utilizzare la programmazione guidata dagli eventi per effettuare regolazioni senza attrito, come la rimozione o l'aggiunta di alcuni moduli funzionali, queste regolazioni possono portare ad alterazioni inaspettate della funzionalità..
Nella programmazione convenzionale, il sistema scopre molto rapidamente queste anomalie operative, fornendo una relazione al programmatore sulle loro cause. Nell'ambiente di programmazione basato sugli eventi, il rilevamento di tali malfunzionamenti è meno semplice e veloce.
Poiché la programmazione guidata dagli eventi risulta essere più un approccio che un tipo di linguaggio, le applicazioni basate sugli eventi possono essere create in qualsiasi linguaggio di programmazione..
La programmazione basata sugli eventi sta trasformando il mondo dei servizi di sviluppo software e sta diventando parte integrante dello sviluppo di oggi. La sua diffusione è stata stimolata dalle finestre e dalla diffusione degli ambienti visivi.
Un caso di una situazione guidata da un evento sarebbe simile a un timer di sveglia impostato per svolgere un'attività specifica in un determinato momento, come suonare e comunicare qualcosa che dice "Svegliati!".
Questo approccio alla pianificazione è incentrato sugli eventi. Le sue aree di applicazione più comuni includono la creazione dell'interfaccia utente grafica (GUI), le applicazioni server e lo sviluppo di giochi multiplayer..
Mentre i programmi convenzionali stabiliscono il flusso degli eventi e hanno il controllo sulle opzioni dell'utente, questa programmazione più innovativa è servita per creare la GUI.
La GUI ha cambiato l'interazione uomo-computer offrendo agli utenti più opzioni sotto forma di menu a discesa, finestre, pulsanti e caselle di controllo..
Pertanto, invece di seguire l'ordine predeterminato di azioni impostato dal computer, gli utenti possono scegliere autonomamente uno dei tanti comandi disponibili..
Oltre a questa programmazione ampiamente applicata nelle interfacce utente grafiche, anche in applicazioni che eseguono determinate azioni in risposta all'input dell'utente, come le applicazioni web JavaScript..
Nessun utente ha ancora commentato questo articolo.