I just read the best explanation that I’ve ever seen on comparing different Model, View, Controller, Presenter, and ViewModel pattern variations. It was in Dino Espisito’s Book Programming Microsoft® ASP.NET MVC (published May 2010). He even goes over some patterns that I wasn’t familiar with, such as Model2.
Granted, it did take 25 pages to get the explanation out (most of chapter 3), but if the remaining chapters are anything like chapter 3, then I will absolutely devour the rest of this book. One pattern that I missed (and I think that it is kind of niche) was the Presenter First pattern, which I’ve implemented a few times, but the testing of it is a big pain, since it involves mocking and firing events all the time, so I forgive Dino for bypassing it.
I must say that after a few years of listening to Dino as a guest on shows like .NET Rocks!, I was not expecting such a treatment on the subject by him. He didn’t strike me as the ALT.NET type of guy. But “the times they are a-changin'.” Ideas like MVC and certain patterns become more mainstream, and not just for the nHibernate Mafia anymore. A blog entry of his seems to describe his journey in this direction.