Si buscamos en Google usando la frase "¿Cuál es la diferencia entre el patrón de diseño MVC, MVP y MVVM", entonces podemos obtener algunas URL que discuten la diferencia entre el patrón de diseño MVC MVP y MVVM teóricamente como :
MVP
Úselo en situaciones en las que el enlace a través de un contexto de datos no sea posible. Windows Forms es un ejemplo perfecto de esto. Para separar la vista del modelo, se necesita un presentador. Dado que la vista no puede vincularse directamente con el presentador, la información debe pasarse a la vista a través de una interfaz (IView).
MVVM
Úselo en situaciones donde es posible la vinculación a través de un contexto de datos. ¿Por qué? Se eliminan las diversas interfaces IView para cada vista, lo que significa menos código para mantener. Algunos ejemplos en los que es posible MVVM incluyen proyectos WPF y javascript que usan Knockout.
MVC
Úselo en situaciones donde la conexión entre la vista y el resto del programa no siempre está disponible (y no puede emplear MVVM o MVP de manera efectiva). Esto describe claramente la situación en la que una API web se separa de los datos enviados a los navegadores del cliente. ASP.NET MVC de Microsoft es una gran herramienta para administrar tales situaciones y proporciona un marco MVC muy claro
Pero no he encontrado un solo artículo que discuta la diferencia teóricamente junto con el código de muestra.
Sería realmente bueno si recibiera un artículo que discuta la diferencia entre estos 3 patrones de diseño (MVC, MVP y MVVM) junto con el código.
Me gustaría tener en mis manos el código fuente de 3 aplicaciones CRUD similares implementadas por estos tres patrones de diseño (MVC, MVP y MVVM). Para poder leer el código y entender cómo se debe escribir el código para estos tres patrones de diseño (MVC, MVP y MVVM).
Entonces, si existe algún artículo que discuta cómo el código se vería diferente para estos 3 patrones de diseño (MVC, MVP y MVVM), por favor, redirígeme a ese artículo.