Il viewmodel dovrebbe contenere la logica?

Sommario:

Il viewmodel dovrebbe contenere la logica?
Il viewmodel dovrebbe contenere la logica?

Video: Il viewmodel dovrebbe contenere la logica?

Video: Il viewmodel dovrebbe contenere la logica?
Video: MVVMS... A Better MVVM? Model-View-ViewModel-Services Explained 2024, Novembre
Anonim

1 Risposta. Risposta breve, Sì.

ViewModel dovrebbe avere una logica?

Il compito del ViewModel potrebbe essere quello di trasformare il saldo in una stringa che viene utilizzata come associazione nella vista. Vuoi mantenere quanta più logica possibile da ViewModel per mantenere il tuo codice riutilizzabile e liberamente accoppiato. Non sono d'accordo con questo. Un modello dovrebbe idealmente avere solo proprietà perché i modelli rappresentano i dati

Cosa dovrebbe contenere un ViewModel?

Il tipo più semplice di modello di visualizzazione da comprendere è quello che rappresenta direttamente un controllo o uno schermo in una relazione 1:1, come in "lo schermo XYZ ha una casella di testo, una casella di riepilogo e tre pulsanti, quindi il modello di visualizzazione ha bisogno di una stringa, una raccolta e tre comandi" Un altro tipo di oggetto che si adatta al livello viewmodel è un …

ViewModel contiene logica aziendale?

ViewModel: ViewModel è lo strato intermedio tra la vista e il modello. ViewModel contiene la logica aziendale, che manipola i dati della riga da mostrare nella vista. Qualsiasi tipo di funzione e metodo dovrebbe essere nel modello di visualizzazione. L'interfaccia iNotifyPropertyChanged viene utilizzata in ViewModel per ottenere un binding bidirezionale.

ViewModel dovrebbe avere un'interfaccia?

3 Risposte. L'interfacciamento dei tuoi ViewModel ti dà il vantaggio di prenderli in giro in un test, interfacciare le tue visualizzazioni sembra davvero eccessivo. Non scambierai le tue visualizzazioni e i test dell'interfaccia utente possono essere eseguiti su simulazioni del tuo ViewModel, quindi non avrai davvero bisogno di interfacciarli penso. È eccessivo.

Consigliato: