WPF patterns : MVC, MVP or MVVM or…?
What to use? Model-view-controler, the model-view-presenter or the new paradigm called model-view-viewmodel?
MVC is kind of template and also a framework that can be used in VS 2005 and VS 2008.
MVVM is a part of WPF which can be used to create windows apps.
It's common practice to let the UI layer do more than it should. Without a clear separation of responsibilities, the UI layer can often become a catch-all for logic that really belongs in other layers of the application. The Model View Presenter (MVP) pattern is solving this problem.
The code in the UI layer of an application is very difficult to test without either running the application manually or maintaining UI runner scripts that automate the execution of UI components. The MVP design pattern makes it much easier to factor logic and code out of the UI layer for more streamlined, reusable code that's easier to test.
To read more about it, check the links:
Simple Example of MVC (Model View Controller) Design Pattern for Abstraction
Model View Presenter by Jean-Paul Boodhoo http://msdn.microsoft.com/en-us/magazine/cc188690.aspx