L'architettura MVVM può essere utilizzata nella progettazione di applicazioni Web?

-1

Uno dei client per cui avevo lavorato ha un'architettura MVVM per applicazioni Web. Non so perché hanno incorporato invece di MVC. questa è un'idea fattibile perché, per quanto ho seguito tutte le esercitazioni MVVM se si occupano di XAML o WPF, stanno andando per MVVM. Qualcuno può spiegare in dettaglio?.

    
posta Hameed Syed 24.01.2017 - 14:20
fonte

1 risposta

3

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:

  1. 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)

  2. Un View che è uguale ai modelli MVC e MVP e si occupa di come i dati vengono presentati all'utente.

  3. 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)
  4. 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:

  1. EF o il tuo preferito ORM .
  2. XAML .
  3. La tua classe ViewModel con molto supporto dai suoi amici in System.ComponentModel e System.Windows.Data .
  4. 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.

    
risposta data 24.01.2017 - 15:52
fonte

Leggi altre domande sui tag