Utilizziamo cookie tecnici e di profilazione (anche di terze parti) per migliorare la tua esperienza su questo sito. Continuando la navigazione accetti l'utilizzo dei cookie; in alternativa, leggi l'informativa e scopri come disabilitarli.

Esempio di codice da realizzare:

Una macchina distributrice del caffè lavora come un automa: nella versione semplificata accetta SOLO monete da 50 centesimi ed eroga il caffè solo quando si arriva a 1 Euro. Fino a che non si sono inseriti tutti i soldi si possono richiedere indietro (nel nostro caso semplificato solo dopo aver inserito una moneta da 50 centesimi) premendo il tasto annulla. Quando il caffè è pronto il sensore di pressione sotto il bicchierino fa tornare allo stato di partenza quando il cliente ritira il caffè.

In pratica l'automa prevede gli stati di "partenza", "50cent" e "caffe". 

da "partenza" a "50 cent" con moneta da 50 cent

da "50cent" a "caffè" con moneta da 50 cent

da "50cent" a "partenza" con tasto annulla 

da "caffè" a "partenza" con ritiro del bicchierino

Negli altri casi non si ha alcun effetto e si rimane nello stesso stato.

Usare il pattern State per gestire la macchina del caffè. I metodi richiamabili in ogni stato sono moneta(), annulla(), ritira().

Altri esempi: ventilatore a diverse velocità https://sourcemaking.com/design_patterns/state/java/1