Asp.net mvc 什么&x2019;在ASP MVC中,ViewModel和Controller之间的区别是什么

Asp.net mvc 什么&x2019;在ASP MVC中,ViewModel和Controller之间的区别是什么,asp.net-mvc,wpf,silverlight,mvvm,Asp.net Mvc,Wpf,Silverlight,Mvvm,一方对另一方的责任是什么?一种逻辑与另一种逻辑应该是什么样的?哪一个访问服务和数据库?如何确定代码应该放在viewmodel还是控制器中 作为记录,我使用的是asp mvc,MVVM实际上是WPF和Silverlight特定的设计模式。它特别依赖并需要这些技术的数据绑定、命令和模板功能 如果您使用的是ASP.NET MVC,则MVVM不是一种适用的体系结构。根据定义,它是围绕模型-视图-控制器(因此ASP.NETMVC)构建的,并使用该体系结构设计模式。嗯,MVVM实际上是WPF和Silverl

一方对另一方的责任是什么?一种逻辑与另一种逻辑应该是什么样的?哪一个访问服务和数据库?如何确定代码应该放在viewmodel还是控制器中


作为记录,我使用的是asp mvc,MVVM实际上是WPF和Silverlight特定的设计模式。它特别依赖并需要这些技术的数据绑定、命令和模板功能


如果您使用的是ASP.NET MVC,则MVVM不是一种适用的体系结构。根据定义,它是围绕模型-视图-控制器(因此ASP.NETMVC)构建的,并使用该体系结构设计模式。

嗯,MVVM实际上是WPF和Silverlight特定的设计模式。它特别依赖并需要这些技术的数据绑定、命令和模板功能


如果您使用的是ASP.NET MVC,则MVVM不是一种适用的体系结构。根据定义,它是围绕模型-视图-控制器(因此ASP.NETMVC)构建的,并使用这种体系结构设计模式。

我同意里德的观点,尽管菲尔·哈克最近在《Hanselminutes》上谈到了ASP.NET MVC 2,并多次引用“ViewModel”-因此我推断,即使使用MVC,也可以创建VM


另外-我一直认为MVVM应用程序至少可以从一个包含应用程序范围关注点的VM中获益,比如导航,我认为导航更像是一个控制器而不是一个视图模型…

我同意里德的观点,尽管最近在《汉斯分钟》上菲尔·哈克谈到了asp.net MVC 2,并多次引用“ViewModel”-因此我推断,即使使用MVC,也可以创建VM


另外-我一直认为MVVM应用程序至少可以从一个包含应用程序范围关注点的VM中获益,例如导航,我认为导航更像是一个控制器而不是一个视图模型…

我同意你们两人的观点,但我只想添加另一个模式MVP(模型视图演示者)它最适合ASP.Net和Windows窗体,但不能用于WPF和Silverlight。MVVM是专门为WPF和Silverlight应用程序设计的。

我同意你们两人的观点,但我想添加另一个模式MVP(模型视图演示器),它最适合ASP.Net和Windows窗体,但不能用于WPF和Silverlight。MVVM是专门为WPF和Silverlight应用程序设计的。

将控制器与ViewModels混合使用并不少见。在这种情况下,您可以将以下职责分配给角色:

ViewModel表示演示文稿的状态和行为

控制器负责应用程序的工作流。此外,它在ViewModels之间进行调解。因此,它通过防止ViewModels彼此显式引用来促进松散耦合


有关这些角色的详细信息:

将控制器与ViewModels混合使用并不少见。在这种情况下,您可以将以下职责分配给角色:

ViewModel表示演示文稿的状态和行为

控制器负责应用程序的工作流。此外,它在ViewModels之间进行调解。因此,它通过防止ViewModels彼此显式引用来促进松散耦合


关于这些角色的更多信息:

我正在使用由Hanselman和Haack团队中的一位成员编写的代码。因此,我认为ViewModel是一种可以接受的模式。我正在使用的代码是由Hanselman和Haack团队中的一位成员编写的。因此,我认为ViewModel是一种可以接受的模式。您能详细说明一下您的答案吗?我非常喜欢这个方向,但我觉得它不能完全回答ViewModel可以完成的简单任务。它可以向视图公开模型(例如业务对象)。它还可以与服务交互。更复杂的逻辑应由控制器处理。这可能是数据库查询或web服务请求。结果可能会传递给ViewModel,以便我们能够将其显示给用户。您能否详细说明您的答案?我非常喜欢这个方向,但我觉得它不能完全回答ViewModel可以完成的简单任务。它可以向视图公开模型(例如业务对象)。它还可以与服务交互。更复杂的逻辑应由控制器处理。这可能是数据库查询或web服务请求。结果可能会传递给ViewModel,以便我们能够将其显示给用户。的可能副本的可能副本