6. Lo Stato entry / attività exit / attività trigger [guardia] / attività do / attività … trigger [guardia] / attività Stato di attività attività di entrata attività di uscita attività interne do-activity Auto-anello Auto-transizione Stato Stato Stato do / attività
13. 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. Context request() this.state.handle() State handle() ConcreteStateA handle() ConcreteStateB handle()
14. State Pattern pushOn [plugged] / enable pushOff [plugged] / disable StateMachine pushOn() pushOff() if (plugged) this.state.enable() State enable() disable() StateOff enable() StateOn disable() StateOff StateOn
15. 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
16. 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
17. 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
18. 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.