Presenter first
# Presenter first

Presenter First è un approccio allo sviluppo di software che combina insieme le idee del pattern Model View Presenter (MVP) e di Feature-Driven Development per sviluppare applicazioni completamente testate a partire da descrizioni fornite dall'utente, usato principalmente in ambienti GUI. In esso modello e vista sono completamente separati l'uno dall'altro, e le caratteristiche sono chiaramente documentate nella classe presentatrice in maniera dichiarativa, con una effettiva semplicità nella analisi e manutenzione del codice sorgente creato. La grande quantità di codice necessario per implementare questa metodologia può essere gestita attraverso uno strumento di modellizzazione.

## Componenti

I tre componenti di Presenter First sono:

### Model

Contiene i dati e la logica necessari al presenter.

### View

Visualizza le informazioni e interagisce con l'utente. In Presenter First la vista ha poche responsabilità: passa le richieste dell'utente al presentatore (mediante eventi) ed espone delle proprietà e metodi per visualizzare le informazioni.

### Presenter

È il centro della triade: riceve le richieste dalla vista, interroga il modello per ottenere le informazioni e le passa alla vista. Il presentatore è semplicemente un interprete di eventi e non ha nessun metodo o proprietà pubblica.

