Sviluppo imperativo e dichiarativo

Completato

Questo modulo include alcuni concetti che potrebbero sembrare molto incentrati sullo sviluppatore, ma non preoccuparti. In realtà, l'obiettivo è aiutare a comprendere e applicare alcuni di essi per compilare app migliori.

Programmazione imperativa e dichiarativa

Esistono due modi principali per affrontare lo sviluppo:

Lo sviluppo imperativo è incentrato su come raggiungere un obiettivo. Lo sviluppo dichiarativo è incentrato sul risultato desiderato.

Lo sviluppo imperativo offre un maggiore controllo perché si definiscono ogni passaggio del processo. Questa flessibilità viene spesso fornita con maggiore complessità. Lo sviluppo dichiarativo è più semplice e facile da leggere, ma può limitare la quantità di controllo dell'esecuzione.

Programmazione imperativa

Per comprendere al meglio la programmazione imperativa, si può pensare a un panino da mangiare a pranzo. Nella programmazione imperativa, ci si concentra sulla creazione del panino nel "codice". Vai in cucina, ottieni gli ingredienti, metti insieme il panino e poi lo invii all'utente. Si dedica molto tempo ai passaggi, ma si dispone di tutte le funzioni specifiche per farlo esattamente come si desidera. Niente pomodori? Nessun problema. In un linguaggio di programmazione completamente composto, il codice potrebbe avere un aspetto simile al seguente.

Funzione Crea panino

{ Vai alla cucina;

Prendere gli ingredienti;

Rimuovere i pomodori;

Prepara il panino;

Funzione Invia panino

{ Bocca di destinazione;}

Come si può notare, il processo include molti passaggi, ma permette di ottenere un panino del tutto corrispondente a quello desiderato. Questo è l'approccio visualizzato in linguaggi come C# o altri linguaggi di codifica comuni. L'attenzione è rivolta al push dei dati.

Programmazione dichiarativa

Per la programmazione dichiarativa, immaginare lo stesso scenario, il panino per il pranzo. La differenza è che ora ci si concentra sulla produzione del panino, non su come fare un panino. Questo approccio è molto meno complesso, ma può creare problemi, come nel caso dei pomodori citato in precedenza. Se la funzione che usi per ottenere il sandwich non supporta l'opzione senza pomodoro, sei sfortunato. Il codice sarà lineare come quello seguente.

GetSandwich(Kitchen, Mouth)

Questa funzione immaginaria accetta due input, da dove ottenere il panino e dove inviarlo. Non è disponibile alcuna opzione per rimuovere i pomodori. Sarebbe compito dell'utente che crea la funzione GetSandwich aggiungere un'opzione per la rimozione dei pomodori, che sarebbe simile alla seguente.

GetSandwich(Kitchen, Mouth, {Tomato: false})

Gli strumenti con uso limitato di codice come Excel applicano questo approccio allo sviluppo. In questo caso, ci si concentra sul pull dei dati.

Power Apps supporta metodologie imperative e dichiarative

Power Apps offre funzionalità sia per la logica imperativa che per la logica dichiarativa. In questo corso di formazione si è concentrata sulle formule dichiarative. Nella parte restante di questo modulo, l'attenzione riguarda concetti e metodologie imperativi in Power Apps. Il componente chiave della logica imperativa in Power Apps è costituito dalle variabili.

L'unità successiva illustra i diversi tipi di variabili e come usarli in modalità imperativa.