I seguenti schemi illustrano il risultato dell'analisi funzionale,
dell'individuazione delle componenti e della definizione preliminare
delle interazioni fra componenti.
|
Schema MVC di riferimento preliminare alla prima fase:
![]()
|
Prima fase: revisione e analisi della relazione Model-View in termini di paradigma Observer/Observable (applicazione del design pattern "observer"). Diagramma dei messaggi:
![]()
|
Analisi della struttura logica: modello (Nim) e controllo (NimGame, NimPlayer, NimStrategy); il comportamento di ciascun giocatore è determinato da una strategia, in astratto definita solo da un porotocollo (applicazione del design pattern "strategy"). Diagramma dei messaggi:
![]()
|
Analisi del modulo per gestire visualizzazione e interazione: UserStrategy è strettamente accoppiato a NimView.
![]()
|
Seconda fase. Analisi delle relazioni fra View e Controller: disaccoppiamento di logica e interfaccia utente sia per la visualizzazione passiva sia per l'interazione attiva. Diagramma dei messaggi:
![]()
|