Model view controller NETMVC和MVVM
MVVM是在ASP.NETMVC之前存在的一种Microsoft设计模式。任何人都可以通过MVVM和新的MVC模式之间的差异来了解吗 我冒昧地建议,MVVM是微软的设计模式,而ASP.NET MVC是微软的一个具体实现(它不一定遵循MVC或MVVM,但类似)。正如里德所说,MVC从70年代就已经存在了。MVC和MVVM都是体系结构模式。MVC起源于Smalltalk。ASP.NET MVC是Microsoft使用ASP.NET框架实现的MVC模式 这两种模式都处理关注点的分离。MVC更多地涉及应用程序中各种常用层的交互,如模型(数据层)、视图(表示层)和控制器(业务逻辑层) 凭借WPF和Silverlight的高级数据绑定功能,MVVM更适合并被宣传为下一件大事。Martin Fowler在他的《企业应用程序体系结构》一书中将这些模式概括为表示模式 我认为使用ViewModel的一个优点是,它允许您使用单元测试更好地测试应用程序代码。由于这个原因,我发现MVVM或至少它的ViewModel部分在ASP.NET MVC应用程序中也经常使用 有人能解释一下MVVM和新的MVC模式之间的区别吗 是:使用ASP.NET MVC时,MVC模式使用控制器将模型直接渲染到视图中。对于具有少量对象的平凡项目,这是完全可以接受的。这可能成为一个问题的地方是UI层的关注点可能会渗透到底层(域)模型 当使用MVVM时,您将在模型和视图之间添加一个抽象,这当然是ViewModel。这允许作者将视图最容易使用的对象投影到视图中。ViewModel可以包含在(域)模型中不合适的内容。与此相关的成本是,您需要具有将数据从模型转换到视图模型的映射逻辑。像AutoMapper这样的工具可以帮助完成这项工作Model view controller NETMVC和MVVM,model-view-controller,mvvm,Model View Controller,Mvvm,MVVM是在ASP.NETMVC之前存在的一种Microsoft设计模式。任何人都可以通过MVVM和新的MVC模式之间的差异来了解吗 我冒昧地建议,MVVM是微软的设计模式,而ASP.NET MVC是微软的一个具体实现(它不一定遵循MVC或MVVM,但类似)。正如里德所说,MVC从70年代就已经存在了。MVC和MVVM都是体系结构模式。MVC起源于Smalltalk。ASP.NET MVC是Microsoft使用ASP.NET框架实现的MVC模式 这两种模式都处理关注点的分离。MVC更多地涉及应
一个简单的例子可能是模型不需要特定的字段,但需要特定的视图。如果将此逻辑附加到ViewModel,则其他UI可以使用相同的VM,而不必复制烘焙到第一个用户界面中的逻辑,而不是将其烘焙到用户界面中 MVC和MVVM实际上是完全不同的。当谈到ASP MVC时,似乎有一些对MVVM的误解。在MVC中创建“视图模型”的实践,这是提供视图的特定类,而良好的实践并不符合MVVM的精神,实际上只是MVC的一个更干净的版本
MVVM更适合于使用WPF或类似工具的桌面,或者纯粹使用JavaScript框架(如knockout.js)的浏览器。该模式与MVC完全不同,涉及到视图被“订阅”到模型。MVC(在最新的ASP.NET MVC实现之外可用)比MVVM早很久。。。请参阅:编辑以明确表示它是Microsoft ASP.Net MVC。我知道MVC早于MVVM,但ASP.NETMVC是MVVM的继承者,尽管MVVM本身就是基于MVC的。是的,ASP.NETMVC中也存在ViewModel。难道我们不能在MVC中集成Silverlight与表示层相同的高级功能吗?。我只是想知道,在web应用程序开发中,一个比另一个重要。