Se pesquisarmos no Google usando a frase "Qual é a diferença entre o padrão de design MVC, MVP e MVVM", poderemos obter alguns URLs que discutam a diferença entre o padrão de design MVC MVP e MVVM teoricamente como :
MVP
Use em situações em que a ligação através de um datacontext não é possível. O Windows Forms é um exemplo perfeito disso. Para separar a visualização do modelo, é necessário um apresentador. Como a visualização não pode se vincular diretamente ao apresentador, as informações devem ser passadas para a visualização por meio de uma interface (IView).
MVVM
Use em situações em que a ligação por meio de um datacontext é possível. Por quê? As várias interfaces IView para cada visualização são removidas, o que significa menos código a ser mantido. Alguns exemplos em que o MVVM é possível incluem projetos WPF e javascript usando Knockout.
MVC
Use em situações em que a conexão entre a visualização e o restante do programa nem sempre esteja disponível (e você não pode efetivamente empregar MVVM ou MVP). Isso descreve claramente a situação em que uma API da web é separada dos dados enviados para os navegadores do cliente. O ASP.NET MVC da Microsoft é uma ótima ferramenta para gerenciar essas situações e fornece uma estrutura MVC muito clara
Mas não encontrei um único artigo que discuta teoricamente a diferença junto com o código de exemplo.
Seria muito bom se eu receber um artigo que discuta a diferença entre esses três padrões de design (MVC, MVP e MVVM) junto com o código.
Gostaria de obter o código-fonte de três aplicativos CRUD similares , implementados por esses três padrões de design (MVC, MVP e MVVM). Para que eu possa analisar o código e entender como se deve escrever um código para esses três padrões de design (MVC, MVP e MVVM).
Portanto, se existir algum artigo desse tipo que discuta como o código pareceria diferente para esses três padrões de design (MVC, MVP e MVVM), redirecione-me para esse artigo.