模型在MVC中的意义

eom*_*off 6 asp.net-mvc model

为什么ASP.NET MVC中的MODEL有时被用作与这里的数据库对话的应用程序的一部分,有时候作为一个业务对象,在这里传递数据的应用程序"旅行" ?

Stu*_*tLC 4

正如您所发现的,自从 Smalltalk 诞生以来,MVC 已经朝不同的方向发展,现在它经常被用来描述非常不同的架构。

Martin Fowler 在此处撰写了有关 MVC 演变的博客。http://martinfowler.com/eaaDev/uiArchs.html

这里有关于 MVC、MVP 和 MVVM 之间差异的解释: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/

我的10c:

ASP.NET MVC 3 的许多示例比 MVC 更接近 MVVM 模式。在 MVVM 中,ViewModel 是针对每个视图的数据细节而定制的(即“ViewModel”不仅仅是域模型,而且还用视图/表示层问题进行装饰,例如验证规则、字段提示/名称、字段可见性等)。

(回到 MVC)在较小的以数据为中心的项目中,不需要太多后端分层,M 可以像 ORM 模型一样简单(例如带有一些自动生成的 POCO 的 .EDMX),并带有一些规则。在这种情况下,MVC 几乎可以被视为一种应用程序架构。

但在使用 MVC 的大型项目中,原来的(Smalltalk)模型“M”现在被分成几个其他层,例如域实体、服务外观、服务(例如 SOA)、业务和数据层等(所以在这里, M VC是表示层模式,M 是系统的其余部分)。例如,在这样的项目中,MVC 项目的“模型”文件夹可以简单地是用于与系统“后端”通信的代理服务引用和代理域实体,甚至是此通信的抽象(例如,参见复合应用程序块中使用的服务代理/服务外观)。