Il pattern Model View Controller

Struttura ed utilizzo del pattern Model View Controller

L’architettura J2EE (o JEE) è un framework Java per lo sviluppo di programmi con interfacce grafiche e applicazioni web accessibili attraverso browser. Quest’architettura è nata per favorire l’adozione del Design Pattern Model View Controller (MVC) nello sviluppo dei componenti. In Java, il pattern è stato adottato in ambito nei programmi con interfaccia grafica Swing.

Il pattern Model View Controller è un tipo architetturale, riguarda l’intera architettura del sistema/sotto-sistema e non un singolo problema.

 
Il pattern è così composto:

  • Contesto, è usato per sviluppare applicazioni complesse su intenret, che richiedono diversi livelli di interazione;
  • Problema, le interfacce utente cambiano spesso su internet, ma è auspicabile che il livello di core business e dei dati sia stabile.
  • Soluzione, applicare il principio della separazione dei contesti, dividendo l’applicazione in tre tipologie di componenti:
    1. Model, che rappresentano gli oggetti con i loro dati e funzionalità;
    2. View, che si occupano della presentazione dei dati all’utente;
    3. Controller, che si occupa dell’interazione con l’utente elaborando l’input e le richieste provenienti dal Model per produrre nuove View. Ad esempio interpreta le azioni dell’utente con mouse, tasti, parole, ecc. e li converte in opportune invocazioni di funzioni sul Model e seleziona l’appropriata View di presentazione.

Il pattern Model View Control

Infine, in caso di cambiamento dei dati, il pattern deve avvisare le View in modo che possano rispecchiare il cambiamento; quest’ultima funzionalità viene tipicamente realizzata seguendo il pattern Observer.

Il pattern MVC privilegia la natura modulare delle applicazioni in attribuisce chiaramente le responsabilità con le componenti sono indipendenti tra loro, facilmente integrabili e mantenibili.

Esistono diversi Framework Java per l’implementazione del pattern MVC. Uno di questi è STRUTS, i cui componenti sono

  • JSP per implementare la parte View;
  • Servlet e “Action Class” per la parte Controller;
  • Java Form Bean per la parte Model.

Un esempio pratico dell’utilizzo del pattern MVC è un editor di pagine HTML:

  • Il modello è rappresentato dai caratteri che compongono la pagina (HtmlPage);
  • Possiamo immaginare diverse viste dei dati: una vista carattere per carattere (HtmlRawView); una vista WYSIWYG (HtmlRenderedView), ecc.;
  • Il controller sarà rappresentato dall’observer che riceve gli eventi dall’utente e produce modifiche sul modello (InsertListener).

Per la lista completa di tutti i design pattern fate riferimento a questa pagina.

Pubblicato in Design Pattern, Guide, Java, Programmazione Taggato con: , , , , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*