MVC has evolved in different directions since its inception, Smalltalk to the extent that it is often used to describe very fragmented architectures, as you discovered.
Martin Fowler talks about the evolution of MVC here. http://martinfowler.com/eaaDev/uiArchs.html
This explains the differences between MVC, MVP, and MVVM: http://joel.inpointform.net/software-development/mvvm-vs-mvp-vs-mvc-the-differences-explained/
My 10c:
Many ASP.NET MVC 3 examples are more closely related to the MVVM pattern than MVC. In MVVM, ViewModels are adapted for the specifics of the data for each view (that is, "ViewModels" are not only domain models, but are also decorated with problems of the presentation / presentation level, such as validation rules, tooltips / field names, field visibility, etc. .).
(Back to MVC). In smaller data centering projects that do not require multi-level completion, M may be as simple as an ORM model (e.g. .EDMX with some auto-generated POCOs) with several rules. In this case, MVC could be seen as the architecture of the application.
But in large projects using MVC, the original (Smalltalk) 'M' model is now split into several other layers, for example. domain objects, service facades, services (e.g. SOA), business and data layers, etc. (therefore, here M VC is a presentation level template, and M is the rest of your system). So, for example, in such a project, the Models folder of your MVC project can be simply proxied links to services and proximated domains that are used to communicate with the "back end" of your system or even with an abstraction of this message (for example, see the service agent / service facades used in the composite application block).
Stuartlc
source share