Il paradigma MVC è un modello di progettazione in cui si organizza l'applicazione con la seguente struttura.
Il modello: è qui che è necessario conservare il modello di dati, gli algoritmi. Ad esempio, se scrivi un'applicazione per fogli di lavoro, manterrai la struttura dati del tuo foglio di lavoro. Avresti il motore di calcolo nel tuo modello, avresti il codice per salvare e caricare il foglio di calcolo nel tuo modello. Queste classi di modelli potrebbero essere potenzialmente riutilizzate in altre applicazioni, ad esempio se si dispone del codice per eseguire la compressione dei dati.
la vista o viste: sono la parte del codice per visualizzare i dati (l'interfaccia utente), per un foglio di calcolo si dispone di un tipico vista foglio di calcolo con celle da A1 a Z100 ecc È inoltre possibile visualizzare i dati utilizzando un grafico vista. Ecc. Una vista può essere riutilizzata anche in altre applicazioni, ad esempio è possibile riutilizzare la vista del grafico di fantasia.
Il controller è ciò che collega le viste al modello. Questo è probabilmente il pezzo meno riusabile, il controller conosce il modello, sa quali visualizzazioni visualizzare. In genere il controller imposterà il callback che la vista chiamerà quando l'utente interagisce con l'app. Il controller riceverà quindi le informazioni dal modello e aggiornerà la vista.
Se si seguono queste linee guida, potrebbe essere possibile modificare il modello, ad esempio passare da un modello che salva i file su un disco a un modello che salva i file nel cloud senza modificare l'interfaccia utente ... in teoria. Potresti anche essere in grado di aggiungere nuove viste senza modificare il modello. È inoltre possibile scrivere test unitari o di regressione per i propri modelli.
Non ci sono regole rigide, il migliore è usare il buon senso e il proprio giudizio.
se siete nuovi a MVC, si dovrebbe cercare di leggere http://net.tutsplus.com/tutorials/other/mvc-for-noobs/ – saturngod
@wallyk - Grazie, immagino, che mi aiutano, il minimo che posso fare è accettare. – Hailwood
Questo modello rappresenta i dati passati tra il controller e una vista. –