MVVM con più modelli di viste che condividono un modello

2

Ho un'applicazione in cui esiste un modello "inventore" i cui dati mi piacerebbe visualizzare in modo diverso nelle diverse aree dell'applicazione. Pertanto, mi piacerebbe creare diversi modelli di visualizzazione supportati da quel modello.

Ad esempio, in una sezione, potrei visualizzare solo un elenco di inventori con il loro nome, cognome e cognome. In un'altra area dell'applicazione, potrei visualizzare gli inventori con solo le loro iniziali.

Un'implementazione pulita di MVVM sembrerebbe dettare che avrei un modello per ogni modello di vista; tuttavia, se esiste una nozione di un modello - l'inventore - che contiene molti dati comuni a più aree di utilizzo in un'applicazione, allora mi sembra che ci debba essere un modello concreto condiviso da più punti di vista modelli.

Non sono stato in grado di individuare qualcosa che sembra riguardare questo, anche se sono sorpreso perché ritengo che sarebbe una domanda comune per i principianti in MVVM. C'è una risposta "standard" o accettata a questo?

    
posta rory.ap 01.09.2015 - 14:26
fonte

1 risposta

2

Ho paura che la premessa che ci sia un modello per ogni modello di vista è sbagliata.

Il modello rappresenta i tuoi dati e i dati esistono solo una volta nella tua applicazione. Supponiamo che ci fossero una varietà di modelli in giro e che dovresti tenerli sincronizzati. Su quali basi questo sarebbe ragionevole?

Ma forse hai semplicemente confuso il modello con la vista.
Per ogni vista è possibile (e imho dovrebbe) avere un modello di vista associato. Quindi, avresti 1 modello, 3 modelli di visualizzazione e 3 visualizzazioni. Il modello contiene i dati grezzi, i 3 modelli di visualizzazione "elaborano" i dati grezzi in un formato che si adatta alle esigenze delle rispettive viste.

    
risposta data 13.10.2015 - 15:14
fonte

Leggi altre domande sui tag