Spiega i vantaggi
Spiegherei MVC in termini di vantaggi aziendali. I tuoi manager saranno in grado di capirlo e saliranno a bordo se i vantaggi sono convincenti.
MVC ti consente di suddividere la tua applicazione in unità sensibili, ognuna delle quali esiste indipendentemente dalle altre. Ottieni codice pulito, manutenibile, verificabile e potenzialmente riutilizzo del codice tra i sistemi.
Il modello
Ogni modello incapsula un singolo tipo di informazioni aziendali, ad esempio un record cliente o un prodotto, insieme a tutte le logiche aziendali correlate.
La separazione di questa funzionalità ti consente di testare facilmente la logica di business in isolamento da altre parti della tua applicazione.
Puoi anche estendere facilmente l'applicazione aggiungendo altri modelli, è molto modulare e pulita.
Ogni modello in teoria può esistere indipendentemente dagli altri. Potresti considerare di imporlo utilizzando gli oggetti di servizio per gestire le relazioni tra i modelli. Puoi sostituire i modelli senza influire sul resto del sistema.
La vista
Separare la vista consente di aggiornare facilmente il front end senza rompere il backend sottostante.
Puoi dare il tuo front-end a un altro sviluppatore senza dover necessariamente accedere a tutto il sistema.
Sei anche libero di creare front-end alternativi che funzionano con il sistema esistente. Puoi mostrare i tuoi dati come un'app mobile, un'API, un PDF o un foglio di calcolo Excel. Puoi farlo senza hacking nel resto del sistema. Hai meno probabilità di rompere le cose per errore. È possibile creare prontamente punti di integrazione per i sistemi esistenti in cui connettersi.
Il controller
Il controller collega i modelli alla vista. Mantiene tutto separato. Puoi collegare molto facilmente una vista diversa. Se cambi il tuo codice modello, la vista non ha nemmeno bisogno di sapere.
Altri vantaggi
È un modello comune. Altri sviluppatori saranno in grado di capire il tuo codice e lavorarci sopra. Se torni al tuo codice anni dopo, probabilmente sarai in grado di capirlo e apportare modifiche. Il tuo codice avrà meno probabilità di diventare un altro mal di testa legacy per uno sviluppatore futuro.
Perché tutto ha un posto, è molto più facile produrre codice pulito. Il rischio di spaghettificazione è drasticamente ridotto (anche se non eliminato). Il tuo codice diventa manutenibile.
Poiché tutto è modulare, puoi testarne alcune parti isolate. Il tuo codice è testabile e meno probabilità di ospitare bug o buchi di sicurezza. Gli aggiornamenti futuri saranno molto più semplici in quanto sarà possibile testare facilmente l'intero sistema.