Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Sull'uso dell'MVC Pattern (con PHP)

Link copiato negli appunti

Tra i tanti Design Patterns disponibili, l'MVC è sicuramente quello che ha avuto più popolarità .

Per chi non ha familiarità  con questo concetto, ecco la descrizione direttamente da Wikipedia:

Il pattern è basato sulla separazione dei compiti fra i componenti software che interpretano tre ruoli principali:

  • il model fornisce i metodi per accedere ai dati utili all'applicazione;
  • il view visualizza i dati contenuti nel model e si occupa dell'interazione con utenti e agenti;
  • il controller riceve i comandi dell'utente (in genere attraverso il view) e li attua modificando lo stato degli altri due componenti

Questo schema, fra l'altro, implica anche la tradizionale separazione fra la logica applicativa (in questo contesto spesso chiamata "logica di business"), a carico del controller e del model, e l'interfaccia utente a carico del view.


Ora mi rivolgo a tutti gli sviluppatori (in particolare a quelli che si avvalgono di PHP, con la presenza o meno di Zend Framework): secondo voi questa metodologia di programmazione porta molti benefici nello sviluppo di un'applicazione web rispetto alle normali procedure di sviluppo?

A mio avviso sì, e parecchie. Io non implemento la versione "ufficiale" del Pattern MVC nelle mie applicazioni, ma una controparte da me personalizzata e adattata ai miei stili di programmazione (dopotutto, un Pattern pone una metodologia/soluzione, che può essere modificata a seconda dei casi). Devo dire che la separazione delle tre logiche porta ad una mantenibilità  e ad una modularità  davvero maggiore, favorendo una migliore gestione complessiva dell'applicazione.

Oltre al precedente quesito, vi chiedo inoltre: voi fate uso dei molti Design Patterns (in caso positivo, quali) nelle vostre applicazioni? Trovate che lo studio e l'apprendimento dei Design Patterns costiutuisca un valido motivo per produrre software o applicazioni maggiormente incentrati sulla nuova generazione (indipendentemente da linguaggio utilizzato)?

Ti consigliamo anche