Che cos'è il modello di controllo del modello?
Model-View-Controller (MVC) è un tipo di architettura software e modello di progettazione che segna ogni elemento di un programma in aree di funzionalità ben definite. Nell'architettura del modello di controllo del modello, il modello si occupa di tutta la logica del programma interno che manipola, risparmia, recupera e altrimenti gestisce e calcola i dati. L'aspetto di visualizzazione è responsabile della visualizzazione di informazioni dal modello per l'utente e fornisce anche un modo per l'utente di fornire input al programma. Il controller prende input dalla vista, valuta o elabora altrimenti e interagisce con il modello per modificare i dati o lo stato del programma, che alla fine viene mostrato all'utente attraverso la vista. Sebbene la progettazione del modello-viewer-controller richieda un programma per incapsulare la funzionalità, le tre sezioni devono ancora interagire tra loro in un modo e generalmente dipendono l'uno dall'altro in un certo senso, a differenza di altri modelli di design più aggressivi.
Abbastanza spesso, il modello di controllo del modello-View-Controller è visto nelle applicazioni che gestiscono un'interfaccia utente grafica (GUI). Utilizzando il modello MVC, i diversi elementi visivi della GUI sono gestiti dalla vista, la registrazione e l'elaborazione di dove e ciò che un utente clicca viene gestita dal controller e la modifica effettiva delle informazioni o il caricamento delle informazioni viene eseguita dal modello. A seconda della progettazione esatta di un'applicazione, ogni componente del modello MVC può avere un meccanismo per interagire con gli altri componenti, come il modello che è in grado di istruire direttamente la vista di aggiornare lo schermo o la vista che ha un modo per dire al controller che sta rinfrescando lo schermo e non di accettare nuovi input. A differenza di alcuni modelli di progettazione che adottano un rigoroso approccio a box nero, i programmi di controllo del modello-modello tendono ad essere leggermente più flessibili, sebbene alcune implementazioni possano rendere difficile cambiare o eseguire il debug di un programma MVC.
In alcuni casi, il modello di controllo della vista del modello non deve contenere solo uno di ciascun componente. Un esempio è un'applicazione che ha più viste, come più monitor o un display che può essere visualizzato su diversi dispositivi client. Viste e controller multipli possono essere utilizzati in un'applicazione che consente a molti utenti di accedere a un database, tutti rispondendo a un singolo modello. È più comune, tuttavia, progettare sistemi che mantengono un rapporto uno a uno dei componenti del modello di controllo del modello.
Anche se i componenti del modello di controllo del modello-view si affidano reciproci, può essere molto più facile modificare alcune parti di un sistema che utilizzano il modello MVC che se non sono stati utilizzati alcun modello, specialmente nel caso di applicazioni non orientate agli oggetti. Se un'applicazione utilizza callback o ascoltatori e osservatori per implementare le interazioni tra i componenti, ogni componente può essere modificato senza influire sugli altri due. Ciò significa che una nuova GUI potrebbe essere implementata senza unFecting del modello o del controller. Va notato, tuttavia, che le modifiche fondamentali a un sistema di controller di visualizzazione del modello potrebbero richiedere una piccola quantità di ri-codifica per ogni singolo componente.