2011-11-16 72 views

Respuesta

8

en ASP.NET MVC entra la petición desde el servidor web y se realiza directamente por el controlador. El Controlador determina la Vista apropiada y la rellena con Modelos. El Controlador luego libera estas instancias al sistema subyacente que procesa un resultado para el cliente. Puedes ver que el controlador es el primero y el último en actuar.

En MVVM, la IU (la Vista) se enfrenta al usuario y recibe la entrada del usuario directamente. Dentro de la Vista, los Comandos dentro del ViewModel (que es el DataContext de la Vista) son activados por esta actividad. El control fluye al ViewModel que interpreta lo que View ha enviado y prepara sus Modelos. Después de que el control vuelva a la Vista, se actualiza según los cambios en los Modelos. Si se requiere una nueva Vista, ViewModel lo comunica con NavigationService (o con cualquier método de navegación que use su aplicación), que es competencia de los componentes Window o Frame - UI. Puede ver que ViewModel no es el primero ni el último en actuar; la Vista juega un papel mucho más importante que en MVC.

En cuanto a elegir cuál es el mejor, me inclinaría a guiarme por el soporte de herramientas. Por ejemplo, si está utilizando ASP.Net, existe una enorme cantidad de automatización a través de la plantilla del proyecto MVC que ayuda con la configuración de la placa de la caldera y el uso de ese patrón en una aplicación. Por lo que entiendo acerca de Silverlight/WPF, hay mucho apoyo allí en torno a MVVM. Cuando comencé a usar MVC/MVP hace unos años, implementé MVP en el proceso de pago de una aplicación de comercio electrónico. Fue una gran experiencia con un resultado satisfactorio, pero estaba escribiendo todo a mano sin soporte de herramientas y poca orientación. Cuando escribo una aplicación de Silverlight, ciertamente me moveré hacia MVVM debido al apoyo que hay allí.

+0

¿Cómo puede llegar una solicitud desde el servidor web? Una función principal del servidor web es gestionar las solicitudes desde un navegador web y, en consecuencia, se da una respuesta. –

2

un montón de contenido en la web que cubre esto, pero como titular this de vídeo le ayudará a cabo

2

MVC es un patrón arquitectónico de software que le permite una gran separación especialmente de lógica de dominio, interfaz de usuario, lógica de negocios, etc. y permite una separación total de preocupaciones y permite que las lógicas independientes se desarrollen por separado y se prueben por separado, facilidad para probar versiones múltiples de implementaciones sin mucho preámbulo.

El modelo es si le gusta la entidad que describe todo lo que desea capturar, incluido su comportamiento, aunque la mayoría de la gente piensa en términos de una tabla de base de datos, pero es simplemente un modelo y modelo de almacenamiento que combina todo.

View es si te gusta la interfaz de usuario que interactúa con

controlador es el que impulsa la interacción entre Vista de hacer o tomar los cambios que suceden en el modelo.

MVVM si quiere es igual que MVC pero utiliza un modelo de vista adicional para ayudar con la interfaz de usuario y este modelo de vista se sincroniza con el modelo a través del controlador.

La arquitectura que también encompases mejores prácticas como patrón repositorio, COI etc.

Un ejemplo rápida de, digamos, un modelo

class Person 
{ 
    int id; 
    string type; 

} 

persona Ahora, un modelo de vista que le ayudará con la interfaz de usuario puede tener una lista desplegable a poplulate tipos de personas por lo que un modelo de vista para el mismo modelo puede ser

Class PersonViewModel 

{ //Pseudo code 
    SelectList {mytype, yourtype} 

} 

Esto puede ser de utilizado en la vista como // pseudocódigo DROPDOWNLIST (slectList)

espero que esto ayude

Cuestiones relacionadas