Qual è la differenza tra un framework MVC e un MVT?
Model View Controller o MVC come viene popolarmente chiamato, è un pattern di progettazione software per lo sviluppo di applicazioni web. Un pattern Model View Controller è composto dalle seguenti tre parti -
- Model - Il livello più basso del pattern che è responsabile del mantenimento dei dati.
- View - Questo è responsabile della visualizzazione di tutti o di una parte dei dati all'utente.
- Controller - Codice software che controlla le interazioni tra Model e View.
MVC è popolare perché isola la logica dell'applicazione dal livello dell'interfaccia utente e supporta la separazione degli interessi. Qui il controller riceve tutte le richieste per l'applicazione e poi lavora con il modello per preparare tutti i dati necessari alla vista. La View usa poi i dati preparati dal Controller per generare una risposta finale presentabile. L'astrazione MVC può essere rappresentata graficamente come segue.
Il Modello
Il modello è responsabile della gestione dei dati dell'applicazione. Risponde alla richiesta della vista e risponde anche alle istruzioni del controllore per aggiornarsi.
La Vista
Significa la presentazione dei dati in un formato particolare, attivata da una decisione del controllore di presentare i dati. Sono sistemi di template basati su script come JSP, ASP, PHP e molto facili da integrare con la tecnologia AJAX.
Il controller
Il controller è responsabile di rispondere all'input dell'utente e di eseguire interazioni sugli oggetti del modello di dati. Il controllore riceve l'input, convalida l'input e poi esegue l'operazione di business che modifica lo stato del modello di dati.
----------------XXXX--------------
Come già sapete, Django è un framework web Python. E come la maggior parte dei framework moderni, Django supporta il pattern MVC. Prima vediamo cos'è il pattern Model-View-Controller (MVC), e poi vedremo le specificità di Django per il pattern Model-View-Template (MVT).
MVC Pattern
Quando si parla di applicazioni che forniscono UI (web o desktop), si parla solitamente di architettura MVC. E come suggerisce il nome, il pattern MVC si basa su tre componenti: Model, View e Controller.
DJANGO MVC - MVT Pattern
Il Model-View-Template (MVT) è leggermente diverso dal MVC. Infatti la differenza principale tra i due pattern è che Django stesso si occupa della parte di Controller (codice software che controlla le interazioni tra Modello e Vista), lasciandoci il template. Il template è un file HTML mescolato con il Django Template Language (DTL).
Il seguente diagramma illustra come ciascuno dei componenti del pattern MVT interagisce con l'altro per servire una richiesta dell'utente -
Lo sviluppatore fornisce il Modello, la vista e il template, quindi lo mappa semplicemente in un URL e Django fa la magia per servirlo all'utente.
Articoli simili
- Cosa dovrei scegliere, Angular.js o .NET MVC? Quale lingua ha migliori prospettive di carriera?
- Qual è la differenza tra React Native e altri framework come Cordova, Ionic e PhoneGap?
- Quali sono le differenze tra i vari framework front end di material design? (Material Ui, Angular Material, Polymer - qual è il migliore?)
- Qual è un framework android per fare giochi 2d?