NMVP Framework - Model-View-Presenter Made Easy!
Today I started yet another CodePlex project. I´m coordinator on 4 already: Bhal, Wom, TFSVTree Browser and now NMVP.
The NMVP framework project came from the need that I have of building Model-View-Presenter based UI´s without having to rewrite the wiring and base presenter stuff again and again.
The framework is in it´s early stages (you will notice that I haven´t even released anything - but I will on Friday or Saturday!).
Even being an early alpha you already have this capabilities enabled:
- Building MVP UI´s with Model, View and Presenter automatically wired for you (including Init, Load and Save methods).
- Validation automatically wired for you (All you have to do, for instance, in ASP.Net is set a property of the Host to return Page.IsValid).
- Specify the Model, the View and the Presenter via XML Configuration. This is very cool to allow for modification of the behavior of your app at runtime (Imagine that you have presenters that do log and presenters that don´t. You just change the configuration file and there you have the correct presenters doing their work!).
- Security Context so your presenters can validate who the currently logged user is, without depending on the current implementation (on the Web it might be one thing and on a Windows Forms app a completely different one).
- Transaction Context to allow all your presenters (if there are more than one) to use the same transaction.
- Configuration Context to allow all your presenters access to Configurations made in the configuration file.
I have configured a test site and unit test double for a Login Form already. This is the test environment that will come with release 0.1.0.0. In later releases we´ll be including more tests so you can learn how to use the framework more appropriately.
I will be updating a lot the wiki this days with the architecture used in the presenter, Tutorial for using it, links to articles that helped me build it, requirements, plans for future iterations and a lot more.
Well, I hope to be hearing a lot of suggestions soon (Please be a nice guy/girl and post in the NMVP discussion forums).
Bernardo Heynemann

#83