Spiega i vantaggi
Spiegherei MVC in termini di vantaggi aziendali. I tuoi manager saranno in grado di capirlo e saliranno se i vantaggi sono convincenti.
MVC ti consente di suddividere l'applicazione in unità sensibili, ognuna delle quali esiste indipendentemente dalle altre. Ottieni codice pulito, gestibile, testabile 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 questo consente di testare facilmente la logica aziendale in modo isolato dalle altre parti dell'applicazione.
Puoi anche estendere facilmente l'applicazione aggiungendo ulteriori modelli, è molto modulare e pulito.
Ogni modello in teoria può esistere indipendentemente dagli altri. Si potrebbe prendere in considerazione la possibilità di applicarlo utilizzando gli oggetti di servizio per gestire le relazioni tra i modelli. È possibile sostituire i modelli senza influire sul resto del sistema.
La vista
Separare la visualizzazione consente di aggiornare facilmente il front-end senza interrompere il back-end sottostante.
Puoi fornire il tuo codice front-end a un altro sviluppatore senza necessariamente fornire loro l'accesso all'intero sistema.
Sei anche libero di creare front-end alternativi che funzionano con il sistema esistente. Potresti mostrare i tuoi dati come un'app mobile, un'API, un PDF o un foglio di calcolo Excel. Puoi farlo senza hackerare il resto del sistema. È meno probabile che rompa le cose accidentalmente. È possibile creare rapidamente punti di integrazione a cui agganciare i sistemi esistenti.
Il controller
Il controller collega i modelli alla vista. Mantiene tutto separato. È possibile cablare in una vista diversa molto facilmente. Se modifichi il codice del 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 su. Se ritorni 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 un futuro sviluppatore.
Poiché tutto ha un posto, è molto più facile produrre codice pulito. Il rischio di spaghettificazione è drasticamente ridotto (anche se non eliminato). Il tuo codice diventa gestibile.
Poiché tutto è modulare, è possibile testarne parti separatamente. Il tuo codice è testabile e ha meno probabilità di ospitare bug o falle nella sicurezza. I futuri aggiornamenti saranno molto più semplici in quanto sarai in grado di testare facilmente l'intero sistema.