|
An Introduction to ASP .NET MVC Framework
According to Scott Guthrie at Microsoft, "MVC is a framework methodology that divides an application's implementation into
three component roles: models, views, and controllers.
- "Models" in a MVC based application are the components of
the application that are responsible for maintaining state. Often this state is
persisted inside a database (for example: we might have a Product class that is
used to represent order data from the Products table inside SQL).
- "Views" in a MVC based application are the components responsible
for displaying the application's user interface. Typically this UI is created off
of the model data (for example: we might create an Product "Edit" view that surfaces
textboxes, dropdowns and checkboxes based on the current state of a Product object).
- "Controllers" in a MVC based application are the components
responsible for handling end user interaction, manipulating the model, and ultimately
choosing a view to render to display UI. In a MVC application the view is only about
displaying information - it is the controller that handles and responds to user
input and interaction.
One of the benefits of using a MVC methodology is that it helps enforce a clean
separation of concerns between the models, views and controllers within an application.
Maintaining a clean separation of concerns makes the testing of applications much
easier, since the contract between different application components are more clearly
defined and articulated.
The MVC pattern can also help enable red/green test driven development (TDD) - where
you implement automated unit tests, which define and verify the requirements of
new code, first before you actually write the code itself."
This tutorial covers
an introduction to the MVC pattern using Visual Basic. It shows you want software
is needed to work with the model. It also includes a brief overview of the URL routing
assumptions that are a foundation to the implementation of the pattern. Finally,
a sample application is created to demonstrate the fundamentals of this new web-application
model.
|