Sono in procinto di progettare una struttura di applicazione e attualmente sto pensando a come strutturare il mio front-end asp.net MVC5.
La mia applicazione è simile a una procedura guidata con schede per ogni passaggio. Non è un mago severo in quanto devi completare il passaggio precedente per arrivare al prossimo ma è vicino.
Ci saranno 12 schede / passaggi e ognuna delle schede può contenere (ma non è necessario) fino a cinque sottotabelle (clienti). In una regola del calcolo del pollice penso che potrebbero esserci max 12 tab x 5 client x 15 campi (media ...) = 900 campi sul front-end. Questo è il caso peggiore, ragionevole sarebbe 12x2x10 perché attualmente non ho le specifiche complete per tutti e 12 i passaggi.
La mia domanda è: dovrei tenere questo in un albero enorme ViewModel o dovrei forse salvare ogni passaggio in DB? Quindi costruiscilo da PartialViews o Views autonomi. I dati dovranno essere persistenti in DB ad un certo punto.
Durante l'input avrò bisogno di dati da altri passi, ad esempio - al punto 8 dovrò sapere cosa c'era nel passaggio 3 ecc.
Single ViewModel - Ho tutti i dati pronti a portata di mano in qualsiasi momento, ma come sono le prestazioni, una ricerca rapida mi ha fatto questa domanda SQ .
ViewModels standalone - Avrei bisogno di estrarre dati dal DB su richiesta, che potrebbe essere abbastanza frequente. I dati vengono mantenuti ad ogni passaggio, il che è un vantaggio se si verificano degli errori e i dati non vengono salvati in tempo.