gpt4 book ai didi

asp.net-mvc - MVVM 在 ASP.NET MVC 4 Web 应用程序中扮演什么角色?

转载 作者:行者123 更新时间:2023-12-04 01:36:42 28 4
gpt4 key购买 nike

当我阅读“ASP.NET MVC 4”一书时,我想知道 MVVM。我开始在谷歌上搜索,找不到任何关于使用 MVVM 开发 Web 应用程序的书籍,所以我一定在这里遗漏了一些信息。

据我了解,MVVM 通过 knockout.js 和其他框架在客户端的 Web 应用程序中使用。
然而,如果我要开发一个 Windows Phone 应用程序,我可以直接使用 MVVM,而无需使用 MVC。
这是否意味着 MVVM/数据绑定(bind)的概念不适用于客户端-服务器 Web 应用程序?

最佳答案

MVVM 是 WPF/Silverlight 开发的标准设计模式,不应与用于 ASP.Net 开发的 MVC 混淆。
两者可能听起来相似并且有一些共同的部分,但它们是两种不同的设计模式。
根据我对 knockout.js 的了解,它旨在创建类似于您在 WPF/Silverlight 开发中使用的“数据绑定(bind)”,这就是 MVVM 设计模式适用于此的原因。
引用另一个 answer我的关于 MVVM 和 MVC 之间的区别

In MVVM, your code classes (ViewModels) are your application, while your Views are just a pretty user-friendly interface that sits on top of the application code and allows users to interact with it. This means the ViewModels have a huge job, because they are your application, and are responsible for everything from application flow to business logic.

With MVC, your Views are your application, while your Controller handles application flow. Application logic is typically found in ViewModels, which are considered part of the M in MVC (sidenote: the M in MVC cannot be considered the same as the M in MVVM because MVC's M layer contains more functionality than MVVM's M layer). A user is given a screen (View), they interact with it then submit something to the Controller, and the Controller decides who does what with the data and returns a new View to the user.

关于asp.net-mvc - MVVM 在 ASP.NET MVC 4 Web 应用程序中扮演什么角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16814566/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com