Una delle evoluzioni del pattern classico per lo sviluppo delle componenti di interfaccia utente MVC (Model View Control   http://en.wikipedia.org/wiki/Model-view-controller) è rappresentata dal Model View Presenter che ha l'obiettivo fondamentale di separare ancora più profondamente gli elementi/classi di view dall'elemento (Presenter) che contiene la vera logica di gestione dell'interfaccia utente e delle sue interazioni con le componenti di dominio applicativo e con gli eventi generati dall'utente. Questa separazione consente in particolare un fortissimo miglioramento nella possibilità di effettuare test della componente presenter in modo completamente automatico e svincolato dagli elementi della view. Interessante variante offerta dal Presentation First:

Per approfondire vi suggerisco il seguente articolo su MSDN magazine:

http://msdn.microsoft.com/msdnmag/issues/06/08/DesignPatterns/default.aspx

il video di channel 9 (ARCCAST TV):  

http://channel9.msdn.com/Showpost.aspx?postid=313257

e il seguente documento interessante sulla variante Presentation First specifica:

http://atomicobject.com/files/PresenterFirstAgile2006.pdf