Stateless vs Stateful ViewModel

0

Ecco due link che descrivono brevemente la differenza tra i due: stateless , stateful

In breve nello scenario "Stateless" leghiamo le viste direttamente ai modelli, i modelli di visualizzazione espongono solo gli oggetti interi, non le loro proprietà, quindi non abbiamo bisogno di alcuna sincronizzazione tra modelli e modelli di visualizzazione.

Nello scenario "Stateful" creiamo una copia di un oggetto modello e lo associamo a una vista.

Ci sono degli svantaggi nello scenario "Stateless"? Perché sembra che sia un modo di andare per impostazione predefinita. Cosa ci impedisce di implementare INotifyDataErrorInfo, INPC e tutto il materiale a livello di modelli?

    
posta EngineerSpock 10.06.2016 - 11:35
fonte

2 risposte

1

What stops us from implementing INotifyDataErrorInfo, INPC and all the stuff at the level of models?

Il modo in cui il modello viene descritto dall'azienda e il modo in cui viene mostrato nell'interfaccia utente può (e lo sarà) essere diverso.

Mentre semplici scenari potrebbero far sembrare che i modelli e le interfacce utente siano esattamente gli stessi, la realtà non è così semplice. Lo scopo principale di ViewModel è quello di trasformare il modello del dominio aziendale in una forma facile da collegare all'interfaccia utente.

    
risposta data 10.06.2016 - 13:42
fonte
1

Quasi sempre l'interfaccia utente richiederà al ViewModel di avere uno stato che non appartiene al modello quindi credo che non ci sia un ViewModel "senza stato" in MVVM.

Alcuni esempi:

  • Stato abilitato / disabilitato dei controlli dell'interfaccia utente
  • Elementi selezionati (listbox, pulsanti di opzione, ecc.)
  • Inserisci dati che non sono stati ancora convalidati o confermati nel modello
risposta data 10.06.2016 - 20:23
fonte

Leggi altre domande sui tag