Upload
danilo-sanchi
View
443
Download
0
Embed Size (px)
Citation preview
Diagramma di macchina a stati
Elementi
Nome
trigger [guardia] / attività
stato
transizione
etichetta
pseudostato iniziale
pseudostato finale
Un piccolo esempio
Stato1trigger [guardia] / attività
Stato2
La transizione
Stato1trigger [guardia] / attività
Stato2
Stato1trigger / attività
Stato2
Stato1trigger [guardia]
Stato2
Stato1[guardia] / attività
Stato2
Stato1 Stato2
La transizione
Stato1 Stato2
Stato3
trigger [true] / attività
trigger [false] / attività
Lo Stato
Stato
Statoentry/ attivitàexit/ attivitàtrigger [guardia] / attivitàdo/ attività…
trigger [guardia] / attività
Stato di attività
Stato
do/ attività
attività di entrataattività di uscitaattività internedo-activity
Auto-anelloAuto-transizione
Superstati e sottostati
Superstato
Sottostato1 Sottostato2
Stato1 Stato2
Stati concorrenti
Stato
Sottostato0 Sottostato1
Sottostato0 Sottostato1
Stati concorrenti
Stato
Sottostato0 Sottostato1
Sottostato0 Sottostato1
Stati concorrenti
Stato
Sottostato0 Sottostato1
Sottostato0 Sottostato1H
pseudostato di storia
Stati concorrenti
Stato
Sottostato0 Sottostato1
Sottostato0 Sottostato1H
pseudostato di storia
Stato
Esempio: La radiosveglia
State Pattern
Lo State Pattern consente ad un oggetto di alterare il suo comportamento quando cambia il suo stato interno. L’oggetto sembrerà cambiare classe.
Contextrequest()
this.state.handle()
Statehandle()
ConcreteStateAhandle()
ConcreteStateBhandle()
State Pattern
StateMachinepushOn()pushOff()
if (plugged) this.state.enable()
State
enable()disable()
StateOffenable()
StateOndisable()
StateOffpushOn [plugged] / enable
StateOnpushOff [plugged] / disable
Esercizio - Vita sentimentale di un italiano medio
L'italiano medio inizia la sua vita sentimentale nello stato di Single nel quale la sua principale attività è cercare una partner.
Quando trova una partner entra nello stato Impegnato nel quale rimane fino a quando un giorno attraverso la donazione di un anello di valore non irrilevante, entra nello stato di Fidanzato. In entrambi i questi stati la sua principale attività è cenare fuori con la partner.
Dallo stato Fidanzato un giorno, attraverso il matrimonio l’italiano medio entra nello stato di Coniugato. In questo stato la principale attività dell’italiano medio è guardare la tv.
Dagli stati Impegnato, Fidanzato, Coniugato l’italiano medio può tornare nello stato di Single lasciandosi con la partner
Lo stato di Single è in realtà composto di 3 sottostati interni. Inizialmente l’italiano medio è a Riposo e la sua principale attività è bere birra con gli amici.
Poi un giorno si mette alla Ricerca e appunto cerca una partner.
Quando ne individua una con specifici parametri comincia il Corteggiamento, all’inizio del quale preventivamente vengono acquistati dei fiori nella speranza di regalarli alla partner.
In caso di rifiuto l’italiano medio torna alla Ricerca, se accetta esce dallo stato di Single e diventa Impegnato.
Quando si stanca di cercare ritorna a Riposo.
Esercizio - Vita sentimentale di un italiano medio
Esercizio - Vita sentimentale di un italiano medio
In realtà però quando l’italiano medio si trova negli stati di Single, Impegnato e Fidanzato si è comunque nello stato di Celibe, dal quale esce solo con il matrimonio diventando Coniugato
Esercizio - Vita sentimentale di un italiano medio
In realtà però l’italiano medio quando si sposa lo fa sia civilmente che religiosamente. Nel caso in cui l’italiano medio si lasci dallo stato di Coniugato l’iter è differente:- Dal punto di vista civile, in seguito ad un litigio nel quale non si sia trovato un accordo attraverso la separazione l’italiano medio entra nello stato di Separato. Se non avviene una riconciliazione che riporta l’italiano medio nello stato di Coniugato, dopo 4 anni avviene il divorzio e civilmente ritorna ad essere Celibe.- Dal punto di vista religioso, Se la Sacra Rota accetta una richiesta di annullamento, l’italiano medio torna ad essere Celibe, altrimenti rimane Coniugato finché morte non vi separi.