Se cerchiamo su Google usando la frase "Qual è la differenza tra MVC, MVP e MVVM design pattern", allora potremmo ottenere alcuni URL che discutono la differenza tra MVC MVP e MVVM design pattern teoricamente come :
MVP
Utilizzare in situazioni in cui l'associazione tramite un datacontext non è possibile. Windows Forms ne è un perfetto esempio. Per separare la vista dal modello, è necessario un presentatore. Poiché la vista non può essere associata direttamente al relatore, le informazioni devono essere passate alla vista tramite un'interfaccia (IView).
MVVM
Utilizzare in situazioni in cui è possibile l'associazione tramite un datacontext. Perché? Le varie interfacce IView per ogni vista vengono rimosse, il che significa meno codice da mantenere. Alcuni esempi in cui MVVM è possibile includono progetti WPF e javascript tramite Knockout.
MVC
Utilizzare in situazioni in cui la connessione tra la vista e il resto del programma non è sempre disponibile (e non è possibile impiegare efficacemente MVVM o MVP). Questo descrive chiaramente la situazione in cui un'API Web è separata dai dati inviati ai browser client. ASP.NET MVC di Microsoft è un ottimo strumento per gestire tali situazioni e fornisce un framework MVC molto chiaro
Ma non ho trovato un singolo articolo che discute teoricamente della differenza insieme al codice di esempio.
Sarebbe davvero bello se ricevessi un articolo che discute la differenza tra questi 3 modelli di progettazione (MVC, MVP e MVVM) insieme al codice.
Vorrei mettere le mani sul codice sorgente di 3 app CRUD simili che sono state implementate da questi tre modelli di progettazione (MVC, MVP e MVVM). In modo che io possa esaminare il codice e capire come si dovrebbe scrivere il codice per questi tre schemi di progettazione (MVC, MVP e MVVM).
Quindi, se esiste un articolo del genere che discute come il codice apparirebbe diverso per questi 3 modelli di progettazione (MVC, MVP e MVVM), per favore reindirizzami a quell'articolo.