Secondo questo ci sono persone diverse dal tuo cliente che usano MVVM per le applicazioni web, quindi almeno sappiamo che lui / loro sono / non sono pazzi: D.
Battute a parte in MVVM hai:
-
Un Model che è o un modello di dominio e rappresenta il contenuto dello stato o il contenuto dei dati (poiché in questa griglia sono presenti dati provenienti da quella tabella)
-
Un View che è uguale ai modelli MVC e MVP e si occupa di come i dati vengono presentati all'utente.
- Un
View Model che accede ai dati ed espone le proprietà e mantiene la logica aziendale lontana dalla vista (invece di programmare gli eventi direttamente nel codice Dietro ora abbiamo comandi nel nostro modello di vista)
- Infine c'è un componente
binder che media tra la vista e il modello della vista e (da qui il concetto "Data Binding").
Questo si traduce nel mondo WPF come:
-
EF o il tuo preferito ORM .
-
XAML .
- La tua classe
ViewModel con molto supporto dai suoi amici in System.ComponentModel e System.Windows.Data .
-
XAML di nuovo (ogni volta che digiti {Binding Whatever} ) e un gruppo di classi da System.Windows.Controls e tali che gestiscono tutto il "Collegamento dati".
Come andiamo da qui al web? La brava gente di Microsoft ha spiegato che MVVM e MVP non sono così diversi ma
whereas the MVP pattern is best suited to traditional server-rendered
Web pages and the request/response paradigm, the MVVM pattern is
optimized for stateful rich client applications where client-side
business logic and application state is maintained through user or
service interactions
Ciò significa che MVVM è pensato per gestire un ambiente stateful mentre altri come MVP sono pensati per stateless ?. Nel corso della giornata presumo che qualcosa di simile sia stato detto da alcuni Smalltalker hard core quando qualcuno ha suggerito di usare MVC per lo sviluppo di applicazioni web e sappiamo tutti come è finita l'argomento.
Per quanto ne so, ci sono alcuni framework web correlati che usano già MVVM (in realtà stanno utilizzando Model View Binder ma sai, patate, patate) come Knockout.js , anche molti AngularJS utenti sono consapevolmente o non facendo un qualche tipo di MVMM troppo.