解决方法
正如您所发现的那样,MVC已经朝着不同的方向发展,因为它的Smalltalk开始经常用于描述非常不同的架构.
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:
与MVC相比,ASP.NET MVC 3的许多示例与MVVM模式更紧密地对齐.在MVVM中,viewmodel是针对每个View的数据细节而定制的(即’viewmodels’不仅仅是域模型,而是使用View / Presentation Tier关注点进行修饰,例如验证规则,字段提示/名称,字段可见性等).
(返回MVC)在较小的以数据为中心的项目中,不需要后端分层,M可以像ORM模型一样简单(例如带有一些自动生成的POCO的.EDMX),但有一些规则.在这种情况下,MVC可以被视为一种应用程序架构.
但是在使用MVC的较大项目中,模型的原始(Smalltalk)’M’现在被分成几个其他层,例如域实体,服务外观,服务(例如SOA),业务和数据层等(所以这里,M VC是表示层模式,M是系统的其余部分).因此,例如在这样的项目中,MVC项目的“Models”文件夹可以简单地代理服务引用和代理域实体,用于与系统的“后端”通信,甚至是通信的抽象(例如,见复合应用程序块中使用的服务代理/服务外观).