Well, here’s the story of how I got into this. I went to CodeStock, went to the MVC class/lecture, messed with MVC for a month or so, kept finding blog posts comparing it to MVP, researched MVP and its benefits, said, “Yeah, this is really what I need.”

So that’s how it went, here’s a bit more about why I’m using this in my applications at work.

MVP apps will not be as esoteric so that our new hire (currently Ritu) can learn and use this methodology almost immediately, nor will it be too far outside the scope of normal ASP.NET that we would have to find a specialist to maintain the resulting code, were I to be hit by a bread truck. My main reason for using MVP (now this is huge) is that it supports using Test Driven Development.

Intead of reinventing the wheel and writing up a post describing this pattern’s architecture, I’ll let these links speak for me.

Comparisons to MVC

http://ameleta.spaces.live.com/blog/cns!5F6316345A821420!163.entry

http://blog.vuscode.com/malovicn/archive/2007/12/18/model-view-presenter-mvp-vs-model-view-controller-mvc.aspx

http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference#101561

[there are too many of these for me to list them all… check it ->http://www.google.com/search?q=mvp+vs+mvc]

 

Microsoft’s Guidance For MVP

http://msdn.microsoft.com/en-us/library/cc304760.aspx

Microsoft's Web Client Software Factory This should be your main source for implementing this pattern, if you are a .NET developer. These libraries truly make implementing the MVP very easy, intuitive, and somewhat automated ( but not so much that you don’t get to learn on your own… ;) ) Official documentation is here. You will need this (Guidance Automation Extensions) as a requirement for setting up the WCSF.

Getting Started with the Web Client Software Factory (WCSF)

Simon Ince has several tutorials for coders who wish to read a ‘from the ground up’ type of tutorial.

David Hayden's Page About MVP contains a lot of tutorials and screencasts which offer much help and insight when getting started with the MVP pattern.

 

Another pattern I’ve been working with inside of the MVP umbrella is using a supervising controller to control page navigation (mainly).This further takes application logic from the aspx.cs page by pushing the where-do-we-go-from-here logic to a separate controller class. I will write more about this when I nail down exactly how I will be fitting this into my applications.

 

I hope that this is enough to help you get started using MVP, if you find that it will be an advantage to your applications.

.w