Jun 28, 2010
I would implement the user control using MV*, for a couple of reasons...
* Separations of concerns; mixing UI / Logic / Data usually leads to
something that is harder to maintain in the long run.
* Testing; using any of the MV* patterns usually makes it easier to
test the control.
* Consistency; If you develop your control using a well known pattern
makes it easier for other to get a grip on it. As well as yourself, six
months later :)
Of course, there is always a trade off. If the user control is not very
complex it might not be worth the effort.
Keep in mind that following a strict MVP style where the view doesn't
have any relation to its presenter makes it impossible to create a
user control to use in Visual Studio's designer. In this case MVVM
would be better off (if you're doing WPF). You may of course modify
the MVP pattern so that the view creates the presenter and that would
solve the problem.