MVC es un patrón de arquitectura de software, mediante el cual el código de las aplicaciones se divide en diversos bloques, dependiendo de su responsabilidad. Principalmente tenemos tres bloques:
- Modelos: Que se encargan de trabajar con los datos
- Vistas: Que tiene el código para representación de esos datos
- Controladores: Que trabajan entre las vistas y modelos coordinando los procesos del negocio
A partir de esta división del código existen diversas variantes como MVC, MVVM, MVP, etc. Todos esos etilos arquitectónicos tienen pocas diferencias. Como ves, modelos y vistas están siempre presentes, luego lo que cambia es un pequeño matiz en lo que sería la parte del controlador, que en función de eso a veces se le llama presentador (P), View Model (VM o modelo de la vista)
Puedes obtener más información detallada en un artículo de DesarrolloWeb: MVC
En DesarrolloWeb encuentras varias referencias en las que también se aborda sobre este patrón de arquitectura: El MVC explicado en el Manual de Codeigniter El MVC explicado en el Manual de ASP .NET MVC El MVC explicado en la Wiki.
Existen otras referencias, casi para cualquier framework o lenguaje, puedes usar el buscador para encontrarlas.