La vera domanda che dovresti fare è " Perché dovrebbe Io uso un pattern MVC ".
Le ragioni per l'utilizzo di tale modello possono essere spiegate solo quando si ha una comprensione dei principi ai quali i programmatori vogliono aderire per una serie di motivi, ma forse la più importante:
Separazione di dubbi
The value of separation of concerns is simplifying development and maintenance of computer programs. When concerns are well-separated, individual sections can be reused, as well as developed and updated independently. Of special value is the ability to later improve or modify one section of code without having to know the details of other sections, and without having to make corresponding changes to those sections.
Fonte: Wikipedia
Come descritto nel link che ho postato, non implementando 'un po' la separazione delle preoccupazioni può, o porterà, a rendere il codice illeggibile, ingestibile o peggio - semplicemente rotto (esempi? cerca codice spaghetti o big-ball -of-fango)
Esempio semplice:
- Hai un sito web in cui è possibile acquistare libri.
-
Ci sono 26 pagine diverse (metodi controller) in cui i libri vengono visualizzati o in qualsiasi modo utilizzati (ad esempio gli amministratori devono aggiungere - modificare - eliminare i libri, gli utenti devono aggiungere-modificare-eliminare commenti sui libri, ecc. )
-
Se dovessi implementare tutta la tua "logica del libro" in ciascun metodo del controller, allora:
- Tutti i metodi del controller diventeranno sempre più grandi man mano che i libri diventeranno sempre più complessi
- Dopo alcune settimane vuoi cambiare qualcosa sul modo in cui i tuoi libri sono visualizzati, devi cambiare tutti i 26 diversi metodi di controllo che li utilizzano.
- Dopo un po ', non avrai idea di dove trovare quella riga di codice che assicuri che se un libro non è in vendita per un breve periodo di tempo, non verrà visualizzato da tutti i tuoi controller che hanno qualcosa fare con la vendita di libri
- Etc.
- Dopo aver hackerato tonnellate di piccoli cambiamenti in tutti i tuoi controller, ottieni la canna fumaria, o fai una lunga e meritata vacanza poco prima di un bug importante - e qualche altro programmatore deve trovarla rapidamente e risolverla senza il vostro aiuto. Crediti a lui se lo risolvesse in modo tempestivo.
Nota: questo è solo un esempio stupido e veloce, con difetti certamente sufficienti, ma riguarda il quadro generale.
Ora, pensiamo al nostro progetto quando abbiamo impostato tutta la nostra logica di libro in 1 modello che è riutilizzabile in tutte le nostre pagine. Semplificato significa che dovrai implementare una modifica una volta e che questo dovrebbe rispondere alla tua prima domanda.