Skip to content

Architettura

gabriele-sette edited this page Jul 7, 2021 · 15 revisions

L'architettura utilizzata per questo progetto è del tipo MVC (Model - View - Controller) Nello schema architetturale MVC l'applicazione viene suddivisa in tre gruppi principali di componenti: modelli, visualizzazioni e controller. Questo schema consente di realizzare la separazione delle competenze. Grazie all'uso di questo schema, le richieste dell'utente vengono indirizzate a un controller responsabile di interagire con il modello per eseguire le azioni dell'utente e/o recuperare i risultati delle query.

Modello: Il modello è diviso in due modalità di gioco, singleplayer e multiplayer.

Controller: Il controller gestisce l'accoppiamento tra GUI e modello.

View: Gestisce la GUI

Il singleplayer è composto di 4 thread, ognuno per ogni giocatore che partecipa alla partita (Human o Bot che sia). I thread interagiscono tra di loro, andando a modificare lo stato del game, ovvero la board di gioco.

L'architettura RMI la usiamo per far comunicare due oggetti remoti tramite l'interfaccia.

Server: Il server usa un handler, unico per ogni client.

Client: Il client invece usa un client.

L'architettura del progetto è basata su uno schema RMI. Documentazione RMI

Prova

singleplayer.png

Prova

multiplayer.png

Clone this wiki locally