Home  /  Questions  /  Question

60   95.3
May 18, 2010

MVC vs MVP in Windows Forms


I am working on a Windows Forms .NET application (i.e. Winforms).  Is MVC better or should I go with MVP?

Thanks and regards.

1,128   99.9
May 18, 2010

First off, the MVP pattern has been retired (here), instead Martin Fowler has separated it into two new patterns called Supervising Controller and Passive View.

I am no expert in these patterns, I have however used Passive view successfully in many WinForms applications and is currently my preferred UI separation pattern for WinForms. MVC pattern, I think, is best suited for (state-less) web applications (although its possible to use it in WinForms).

One big benefit of using Passive View (and the reason that I use it) is that it makes your view very "dumb" which makes them much easier to test.

Tip: If you do decide to use Passive View, I would recommend that you take a look at Event Aggregator to decouple the view and the presenter even more, make your application much easier to extend IMHO.

Good Luck!
 1 comment
Can I see a Supervising Controller and a Passive View example in C#? I will be happy to see this. --- Ali Momin  May 19, 2010