Skip to content

Commit

Permalink
docs(viewmodel): moved view model to View specific sectioN
Browse files Browse the repository at this point in the history
  • Loading branch information
alemazzo committed Oct 17, 2023
1 parent edec1a1 commit 5c70a62
Showing 1 changed file with 5 additions and 13 deletions.
18 changes: 5 additions & 13 deletions docs/src/04-design/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,6 @@ Il Mixin `ScalaJSView` infatti si occupa di gestire le funzionalità di _show_ e

Inoltre la `ScalaJSView` espone anche uno stato reattivo che può essere utilizzato nelle varie View e viene tenuto sempre aggiornato ad ogni modifica propagata dal controller. Questo ha reso molto semplice lo sviluppo delle pagine, in quanto tutto quello mostrato graficamente è dipendente dallo stato reattivo.

#### ViewModel

Per la gestione di tutti i mapping da stato dell'applicazione a singola informazione, è stato creato il concetto di ViewModel, che consiste in un wrapper dello stato reattivo dell'applicazione e che tramite operations su di esso espone tutti i vari metodi per ottenere le informazioni dipendenti dallo stato.

### Application

![Architettura Application](../img/04-design/mvc/mvc-app.jpg)
Expand Down Expand Up @@ -192,11 +188,7 @@ A questo punto una volta definito il dominio del gioco si è andato a definire u

<!--************* ---- ****************-->

## Model

### Game

### Map
## Map

L'analisi del dominio ha portato alla schematizzazione della mappa di gioco, con i seguenti elementi:

Expand Down Expand Up @@ -261,8 +253,6 @@ Perciò è possibile definire delle `TileContentStrategy` che permette di modifi

![TileContent](../img/04-design/gamemap/creation.jpg)

### Components

## View

La View, come precedentemente introdotto, permette all'utente di visualizzare lo stato dell'applicazione in modo reattivo, e consentire l'interazione con il sistema.
Expand All @@ -272,6 +262,10 @@ A fronte di ciò, è stato scelto di utilizzare un approccio a componenti per la

Inoltre, l'approccio a componenti, permette il riutilizzo del codice in sezioni diverse dell'applicazione.

### ViewModel

Per la gestione di tutti i mapping da stato dell'applicazione a singola informazione, è stato creato il concetto di ViewModel, che consiste in un wrapper dello stato reattivo dell'applicazione e che tramite operations su di esso espone tutti i vari metodi per ottenere le informazioni dipendenti dallo stato.

### Context Map e Anti Corruption Layer

L'obiettivo della view di mostrare lo stato del model in modo reattivo contempla la necessità di tradurre le informazioni contenute nel model in elementi grafici, significativi per l'utente.
Expand All @@ -284,8 +278,6 @@ Questo meccanismo funge anche da `Anti Corruption Layer`, in quanto permette di

![Context Map](../img/04-design/view/context-map.jpg)

### ViewModel

<!-- Borriello -->

## Stato della partita
Expand Down

0 comments on commit 5c70a62

Please sign in to comment.