[MUSIC]
Nello sviluppo web si sentono spesso persone parlare del framework MVC e
del framework MVVM e così via.
Cosa sono esattamente questi framework?
Come sono utili nello sviluppo web?
Parliamone brevemente dopo.
Nel mondo dell'ingegneria del software,
spesso si sente parlare di modelli di progettazione.
Quello che esattamente significano è smettere di reinventare la ruota ogni volta.
Un modello di progettazione è una soluzione ben documentata a un problema ricorrente.
Molto spesso, ti vedi ripetutamente risolvere problemi simili.
Se abbiamo una documentazione ben specificata su come risolvere questi problemi,
perché continuare a reinventare la ruota ogni volta?
Ecco dove
nasce il concetto di modello di progettazione dell'ingegneria del software.
A volte vedi anche persone che si riferiscono a questo come un modello di architettura.
Quindi, per riassumere, i modelli di progettazione del software in particolare sono una
soluzione riutilizzabile ai problemi che si verificano comunemente che vengono risolti nel software.
Ora, in questo contesto, si sente spesso la gente parlare della banda dei quattro.
Questo è stato un gruppo di quattro autori che hanno scritto questo libro fondamentale chiamato
Design Patterns: Elements of Reusable Object-Oriented Software.
In questo libro, hanno identificato una vasta serie di
modelli di progettazione comunemente utilizzati nell'ingegneria del software.
Questa è stata una delle prime esplorazioni ben documentate dei modelli di progettazione,
e quindi, è diventata il gold standard per chiunque lavorasse in
ingegneria del software, specialmente preoccupato per i pacchetti di progettazione.
Questo modello di ingegneria software ci consente di isolare la
logica del dominio dall'interfaccia utente.
Quindi stai fondamentalmente separando la vista dell'utente delle informazioni
dalla logica effettiva e da come le informazioni memorizzate e manipolate.
Ora questa separazione di preoccupazioni concetto che si sta andando a sentire più e
più volte in questo contesto.
La separazione delle preoccupazioni è ciò che facilita lo sviluppo indipendente di
ciascuna di queste tre parti della nostra applicazione e
consente anche il test e la manutenzione di queste diverse parti.
Ora possiamo dividere la nostra intera applicazione in tre parti,
la vista che riguarda principalmente la presentazione delle informazioni all'utente,
il modello che memorizza lo stato del dominio e la logica del dominio e
fornisce anche il modo di
manipolare questo stato dal resto dell'applicazione e
il controller che mediano tra la vista e il modello.
Parleremo di ognuna di queste tre parti in un po 'più di dettaglio dopo.
Nel framework MVC, il modello gestisce il comportamento e
i dati del dominio dell'applicazione.
E il modello risponde alle richieste di informazioni sul suo stato attuale.
Quindi, in genere, quando la vista vuole renderizzare, o la vista vuole
aggiornarsi, potrebbe interrogare il modello per ottenere informazioni in modo
che possa essere renderizzata in modo appropriato all'utente.
Il modello risponderà anche alle richieste di cambiamento del suo stato.
Questo di solito viene fatto attraverso il controllo.
In un sistema basato su eventi,
il modello può anche essere configurato per notificare gli osservatori.
Così gli spettatori possono registrarsi come osservatori per il modello e così
quando il modello viene aggiornato, le viste verranno automaticamente attivate per
aggiornarsi in base alla modifica dello stato del modello.
La vista stessa riguarda la presentazione delle informazioni agli utenti in un
elemento dell'interfaccia utente in modo tale che faciliti sia la presentazione delle
informazioni all'utente e consente anche all'utente di interagire con l'applicazione.
Quindi la vista può rappresentare una rappresentazione dello stato del modello.
Quindi, dal singolo modello, è possibile derivare facilmente più modi di
presentare queste informazioni all'utente, a
seconda, ad esempio, della dimensione della finestra.
Quindi una finestra di piccole dimensioni come su un'applicazione mobile,
le informazioni saranno presentate in un modo diverso rispetto
a una porta di visualizzazione più grande che è facilitato su un computer desktop.
Quindi in un framework MVC tutta la visualizzazione delle informazioni ha una
corrispondenza uno a uno con lo stato del modello.
Il terzo pezzo di puzzle nel framework MCV è il controller.
Il compito del controller è quello di ricevere informazioni dalla vista.
Quindi qualsiasi interazione dell'utente che viene eseguita verrà catturata e
quindi passata sul controller per agire su queste interazioni utente.
Ed è compito del controller quindi avviare un cambiamento dello stato
del modello, se è richiesto in questa particolare situazione.
Quindi il controller causerà in modo appropriato il cambiamento dello stato del modello.
Quindi, per riassumere, il controller può accettare input
dall'utente in termini di interazioni utente che hanno avuto luogo, e
quindi istruirà il modello di cambiare lo stato.
Contemporaneamente, il controller può anche
causare la vista di modificare il modo in cui le informazioni vengono visualizzate nella vista.
Quindi questo è il motivo per cui in questa immagine hai due frecce
che vanno dal controller, una verso il modello e l'altra verso la vista.
A volte si sentono persone parlare dell'approccio vista modello modello.
L' approccio del modello di vista vista modello è, in un certo senso,
una derivata dell'approccio del controller della vista del modello.
A volte si sentono anche persone che si riferiscono ad esso come l'
approccio del raccoglitore vista modello.
Qui, hai il modello che rappresenta la logica di business e
i dati per la tua applicazione.
Dal modello, derivate un modello di vista, che incapsula quella
parte delle informazioni necessarie per il rendering di una vista specifica.
Quindi il modello di visualizzazione è l'astrazione della vista che espone
le proprietà pubbliche e i vari comandi disponibili.
Quindi questo fornisce un'associazione dati dichiarativa.
In un certo senso, il modo in cui
il componente e i modelli in angolare sono implementati, può essere visto come
una variante dell'approccio vista modello modello.
Con questa rapida comprensione del MVC e del framework MVVM,
procediamo ora a capire di più sui servizi angolari.
[ MUSIC]