2011-11-16 11 views

risposta

8

in ASP.NET MVC la richiesta arriva dal server web ed è gestita direttamente dal controllore. Il controller determina la vista appropriata e la popola con i modelli. Il Controller rilascia quindi queste istanze al sistema sottostante che restituisce un risultato al client. Puoi vedere che il controller è il primo e l'ultimo ad agire.

In MVVM, l'interfaccia utente (View), rivolta verso l'utilizzatore e porta direttamente input dell'utente. All'interno della vista, i comandi all'interno di ViewModel (che è il DataContext della vista) vengono attivati ​​da questa attività. Il controllo passa al ViewModel che interpreta ciò che la vista lo ha inviato e prepara i suoi modelli. Dopo che il controllo torna alla vista, si aggiorna automaticamente in base alle modifiche apportate ai modelli. Se è necessaria una nuova vista, ViewModel lo comunica con NavigationService (o con qualsiasi altro metodo di navigazione utilizzato dall'applicazione), che è l'ambito dei componenti dell'interfaccia utente di Window o Frame. Puoi vedere che ViewModel non è il primo e l'ultimo ad agire; la vista ha un ruolo molto più importante che in MVC.

Per quanto riguarda la scelta di quale è il migliore, vorrei tendono ad essere guidati da supporto utensili. Ad esempio, se si utilizza ASP.Net, il modello di progetto MVC offre un'enorme quantità di automazione che aiuta l'installazione della piastra della caldaia e l'uso di tale modello in un'applicazione. Da quello che ho capito su Silverlight/WPF, c'è molto supporto su MVVM. Qualche anno fa, mentre stavo lavorando su MVC/MVP, ho implementato MVP nel processo di checkout di un'applicazione eCommerce. È stata una grande esperienza con un risultato soddisfacente, ma stavo scrivendo tutto a mano senza supporto di strumenti e poca guida. Quando scrivo un'app Silverlight, sarò sicuramente spostato verso MVVM per via del supporto disponibile.

+0

Come può arriva una richiesta dal server web? Una funzione principale del server Web è gestire le richieste da un browser Web e di conseguenza viene fornita una risposta. –

2

abbondanza di contenuti sul web, che copre questo, ma come antipasto this video vi aiuterà fuori

2

MVC è un modello di architettura software che consente una grande separazione soprattutto di logica di dominio, interfaccia utente, logica aziendale ecc. E consente una totale separazione delle preoccupazioni e consente di sviluppare logiche indipendenti separatamente e testate separatamente, nonché facilità di testare più versioni di implementazioni senza troppi problemi.

modello è se ti piace l'entità che descrive tutto ciò che si desidera catturare compreso il suo comportamento, anche se la maggior parte della gente pensa in termini di una tabella di database, ma il suo solo un modello di archiviazione e il modello combina tutto.

View è se vi piace l'interfaccia utente che si interagisce con

Controller è quello che guida l'interazione tra Mostra di fare o prendere i cambiamenti che avvengono sul modello.

MVVM se vi piace è lo stesso come MVC, ma utilizza una vista extra Modello per aiutare con l'interfaccia utente e questa Altri Modello sincronia con il modello tramite controller.

L'architettura che encompases anche migliori pratiche come il modello repository, CIO ecc

Un esempio veloce di dire un modello di persona

class Person 
{ 
    int id; 
    string type; 

} 

Ora un modello di vista che vi aiuterà con l'interfaccia utente può avere una DropDownList per poplulate tipi di persone in modo da un ViewModel per lo stesso modello può essere

Class PersonViewModel 

{ //Pseudo code 
    SelectList {mytype, yourtype} 

} 

Questo può essere di usato in vista come // pseudocode DropDownList (slectList)

Spero che questo aiuti

Problemi correlati