Diciamo che creo una pagina nella mia applicazione web marketplace in cui gli acquirenti possono vedere un catalogo di tutti i prodotti offerti da alcuni o tutti i venditori o i venditori possono vedere solo i propri prodotti in un'anteprima della vista di questo acquirente.
All'interno del mio codice JavaScript creerei un oggetto modello che sincronizzava i dati con il server, uno o più oggetti di visualizzazione che renderebbero vari pezzi di tali dati all'utente e un oggetto controller che indirizzava i messaggi tra il modello e le viste. / p>
Ora diciamo che creo un'altra pagina nella mia applicazione in cui un acquirente può vedere un catalogo solo dei prodotti offerti da un singolo venditore (sì, questo è solo un sottoinsieme delle funzionalità di cui sopra ma vieni con me su questo per il bene di questo ipotetico). In questo caso, tuttavia, il catalogo esiste in una scheda della pagina con schede di pari livello che contengono altri dati non correlati.
Se dovessi riutilizzare tutti gli oggetti che ho creato per la prima pagina, sarebbe ancora possibile chiamare il pezzo "centrale" un controller quando verrebbe incluso in una scheda di una pagina che probabilmente avrebbe il proprio controller oggetto? O sarebbe più corretto attaccare con un singolo controller per "pagina" e chiamare questo tipo di oggetto di visualizzazione anche se il suo scopo rimane quello di instradare i messaggi tra il proprio modello interno e le sue viste?
Il punto cruciale della mia domanda è se da un punto di vista concettuale ci dovrebbe essere un solo controller nel codice JavaScript per una singola pagina o se le unità componenti astratte possono avere la propria architettura MVC nascosta dall'architettura MVC più grande della pagina?