Funzionalità di programmazione orientate agli eventi, esempi, vantaggi, applicazioni

1446
Simon Doyle

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

  • 1 Caratteristiche della programmazione orientata agli eventi
    • 1.1 Dipendenza dagli eventi
    • 1.2 Orientato al servizio
    • 1.3 Eventi
    • 1.4 Gestore di eventi
    • 1.5 Funzioni di attivazione
    • 1.6 Tempo controllato
  • 2 Esempi di programmazione orientata agli eventi
    • 2.1 Permesso di lavoro
    • 2.2 Avvio delle azioni
  • 3 vantaggi
    • 3.1 Elaborazione più veloce
    • 3.2 Interattività
    • 3.3 Meno codifica delle decisioni
    • 3.4 Flessibilità
    • 3.5 Voci valide
    • 3.6 Facile manutenzione
  • 4 Svantaggi
    • 4.1 Flusso di controllo complesso
    • 4.2 Non sostituisce la programmazione strutturata
    • 4.3 flessibilità
  • 5 Applicazioni
    • 5.1 Interfaccia utente grafica
  • 6 Riferimenti

Caratteristiche della programmazione orientata agli eventi

Fonte: pixabay.com

Dipendenza dagli eventi

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..

Orientato al servizio

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..

Eventi (modifica)

È 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..

Controller di eventi

È 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.

Funzioni trigger

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.

Tempo controllato

È 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.

Esempi di programmazione guidata dagli eventi

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).

Permesso di lavoro

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.

Inizio delle azioni

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.

Vantaggio

Elaborazione più veloce

A causa della propagazione dei dati tra più processori e gestori di eventi.

Interattività

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..

Meno codifica delle decisioni

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.

Flessibilità

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.

Biglietti validi

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..

Manutenzione facile

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.

Svantaggi

Flusso di controllo complesso

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..

Non sostituisce la programmazione strutturata

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..

Flessibilità

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.

Applicazioni

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!".

Interfaccia grafica utente

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..

Riferimenti

  1. Raspal Chima (2018). Applicazioni guidate dagli eventi nello sviluppo di software. Consulenti di mirtilli. Tratto da: bbconsult.co.uk.
  2. Quorum (2020). Creazione di app - Lezione 1: Introduzione alla programmazione basata su eventi. Tratto da: quorumlanguage.com.
  3. Margaret Rouse (2012). Applicazione guidata dagli eventi. Techtarget. Tratto da: searchitoperations.techtarget.com.
  4. UK Essays (2018). Funzionalità di programmazione guidate dagli eventi. Tratto da: ukessays.com.
  5. Souvik Banerjee (2019). Programmazione guidata dagli eventi: perché è di tendenza adesso? RS Websols. Tratto da: rswebsols.com.
  6. Techopedia (2018). Programma basato sugli eventi. Tratto da: ceilingpedia.com.
  7. Technology UK (2020). Programmazione guidata dagli eventi. Tratto da: technologyuk.net.

Nessun utente ha ancora commentato questo articolo.