I Gruppi

()

Gruppi

I gruppi sono costituiti da una o più activity che vengono raggruppate ed eseguite in base alla loro tipologia.

I gruppi consentono di mettere insieme una o più activity e configurare il gruppo secondo necessità. Per esempio, la definizione di una singola condizione di errore per il gruppo, o la creazione di un gruppo come una transazione che si completa in un database solo quando tutte le activity del gruppo sono completate.
Ogni gruppo contiene un elemento GroupStart a sinistra e un elemento GroupEnd  a destra.

I gruppi possono essere classificati in due categorie: gruppi con condizioni (gruppi ripetitivi) e gruppi senza condizioni (gruppi non ripetitivi).

Gruppi senza condizioni (non ripetitivi)

I seguenti tipi di gruppi non richiedono alcuna condizione da definire per la loro esecuzione:

Scope
: Uno Scope è un gruppo semplice che non ha un comportamento personalizzato. Può definire variabili locali e può anche contenere gestori di errori e gestori di eventi. È possibile definire uno scope con una singola activity se è necessario gestire gli errori o rilevare eccezioni specifiche per una singola activity.

Sezione critica
: I gruppi di sezioni critiche vengono utilizzati per sincronizzare i lavori in modo che solo un job agisca sul gruppo di activity in un dato momento. Qualsiasi job in esecuzione appartenente alla stessa sezione critica attende fino al completamento del job in esecuzione nella sezione critica. I gruppi di sezioni critiche sono utili per controllare l’accesso simultaneo a variabili condivise. Mentre un gruppo di sezioni critiche può essere utilizzato per sincronizzare i lavori all’interno di un processo, le variabili condivise del modulo aiutano a sincronizzare i lavori per più processi.

Transazione locale
: Il gruppo di transazioni locali fornisce attività come gli aggiornamenti del database. Esegue il commit automatico su una transazione locale alla fine del gruppo, rendendo l’utilizzo delle activity transazionali più facile per gli utenti.

Gruppi con condizioni (ripetitive)
I loop sono gruppi con condizioni che seguono uno schema in fase di runtime: inizializzano il ciclo, aggiornano il ciclo ad ogni iterazione e verificano le condizioni per interrompere il ciclo.
Sono disponibili i seguenti tipi di loop:

For Each
: viene utilizzato per eseguire il ciclo per un numero specifico di iterazioni con un contatore che va da un valore iniziale a un valore finale.

Iterate: Questo ciclo ha una semplice variabile di indice che può essere utilizzata per contare ogni iterazione e il ciclo viene eseguito per il numero di iterazioni specificato.

Repeat
: Questo ciclo ha una semplice variabile indice che può essere utilizzata per contare ogni iterazione e ha un’espressione condizionale per determinare quando fermarsi. Il ciclo viene eseguito almeno una volta e un test per la condizione specificata viene eseguito alla fine del ciclo. Il ciclo di ripetizione continua ad essere eseguito finché la condizione non diventa true.

  • Repeat on error:

    Questo ciclo coinvolge un meccanismo di ripetizione: se un’activity nel loop genera un errore, l’espressione di condizione viene valutata per determinare se il ciclo deve essere ripetuto. Un indice consente alla condizione di basarsi sul numero di tentativi precedenti, ma è possibile utilizzare qualsiasi espressione di condizione.

While : Questo ciclo ha una semplice variabile indice che può essere utilizzata per contare ogni iterazione e ha un’espressione condizionale per determinare quando fermarsi. La condizione per il ciclo While viene testata all’inizio di ogni iterazione e il ciclo non può mai essere eseguito se la condizione è inizialmente falsa. Il ciclo While continua ad essere eseguito fino a quando la condizione è vera e si interrompe quando la condizione diventa false.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?