MVC
Visto che il Model 2 separa nettamente logica di business e di presentazione, usualmente è associato al paradigma Model-View-Controller (MVC)
Architettura MVC
Architettura adatta per applicazioni Web interattive
Model:
- rappresenta il livello dei dati, incluse operazioni per accesso e modifica
- deve notificare le view associate quando viene modificato e deve supportare:
- possibilità per la view di interrogare lo stato del model
- possibilità per il controller di accedere alle funzionalità incapsulate dal model
View:
- si occupa del rendering dei contenuti del model
- accede ai dati tramite il model e specifica come i dati debbano essere presentati
- aggiorna la presentazione dei dati quando il model cambia
- gira l’input dell’utente verso il controller
Controller:
- definisce il comportamento dell’applicazione
- fa dispatching di richieste utente e seleziona la view per la presentazione
- interpreta l’input dell’utente e lo mappa su azioni che devono essere eseguite dal model
- istanzia JavaBeans
Mapping possibile su applicazioni Web Java-based
In applicazioni Web conformi al Model 2 (MVC), richieste del browser cliente vengono passate al Controller
Il Controller (implementato da servlet):
- si occupa di eseguire logica business necessaria per ottenere il contenuto da mostrare
- mette il contenuto del Model (implementato con JavaBean o Plain Old Java Object - POJO) in un messaggio
- decide a quale View (implementata da JSP) passare la richiesta
La View:
- si occupa del rendering del contenuto