Features | Tutorial | Documentation | Downloads | Links | F.A.Q. | Glossary | Current Release

Vision Statement

This document details the vision behind the framework.
The NMVP Framework aims at being a customizable yet productive Model-View-Presenter framework.

Version Specific Vision Statements

Version 1.0.0 Vision Statement

What's an MVP Framework?

The MVP pattern's goal is to minimize the coupling that exists between the UI (the page in ASP.Net for instance) and the rule that governs that UI. This is absolutely amazing since it allows you to create a new UI (Windows.Forms for instance) and use the same UI rules that you already have.

Another goal is testability. Unit testing the UI can be a very tough and time-consuming task. The MVP pattern makes it a lot easier since you don't have to test the actual UI. You can test a representation of it, or for short a Mock UI.

Even though this is a very good way of achieving a high-level of quality in the software you produce, MVP slows down development, since a lot of infrastructure code must be created in order to achieve the pattern's goals (Models, Views, Presenters and any other architectural hooks).

This is where the framework comes in. The framework's goal is to build all that architecture for you, so you can focus on what really matters (and there's the sentence you've heard a million times before!), the business rules.

NMVP Framework Vision

NMVP Framework's goal is to create classes that represent the Host environment (a web form, a Windows form, etc.), classes that represent each MVP triad in your host environment (A model, a presenter for that model and a view - a usercontrol, a mock class, etc.) and enable you to change this environment in Xml Configuration files.

NMVP Framework makes heavy use of Dependency Injection (via Castle Container) to create the dependent classes at runtime (the presenters and bind them to each model, for instance).

The framework will allow you to build only the model, the views and the presenters. This will allow a complete abstraction of all the hooking logic that is an inherent part of MVP structures.

NMVP Framework for ASP.Net

The NMvp framework goal for ASP.Net is to enable the user to maximize the power of ASP.Net while still being able to unit test the web forms.

Another goal is to empower the user to create presenters that work with a contract which is a much cleaner version of the web form. The presenter only sees what the view is willing to share with it. This makes the probability of formatting, null-reference and this kind of errors very small.

If you have anything to add feel free to leave comments here or at the forums.

Last edited Aug 16, 2007 at 11:17 PM by Heynemann, version 8


No comments yet.