MVC Framework - Introduction
MVC Framework - Introduction
MVC Components
Following are the components of MVC −
Model
The Model component corresponds to all the data-related logic that the user works with. This can
represent either the data that is being transferred between the View and Controller components or any
other business logic-related data. For example, a Customer object will retrieve the customer
information from the database, manipulate it and update it data back to the database or use it to
render data.
View
The View component is used for all the UI logic of the application. For example, the Customer view
will include all the UI components such as text boxes, dropdowns, etc. that the final user interacts
with.
Controller
Controllers act as an interface between Model and View components to process all the business logic
and incoming requests, manipulate data using the Model component and interact with the Views to
render the final output. For example, the Customer controller will handle all the interactions and inputs
from the Customer View and update the database using the Customer Model. The same controller will
be used to view the Customer data.
Page 2 of 2
ASP.NET MVC
ASP.NET supports three major development models: Web Pages, Web Forms and MVC (Model View
Controller). ASP.NET MVC framework is a lightweight, highly testable presentation framework that is
integrated with the existing ASP.NET features, such as master pages, authentication, etc. Within .NET,
this framework is defined in the System.Web.Mvc assembly. The latest version of the MVC Framework
is 5.0. We use Visual Studio to create ASP.NET MVC applications which can be added as a template in
Visual Studio.
Utilizes the component-based design of the application by logically dividing it into Model,
View, and Controller components. This enables the developers to manage the complexity of
large-scale projects and work on individual components.
MVC structure enhances the test-driven development and testability of the application, since
all the components can be designed interface-based and tested using mock objects. Hence,
ASP.NET MVC Framework is ideal for projects with large team of web developers.
Supports all the existing vast ASP.NET functionalities, such as Authorization and
Authentication, Master Pages, Data Binding, User Controls, Memberships, ASP.NET Routing,
etc.
Does not use the concept of View State (which is present in ASP.NET). This helps in building
applications, which are lightweight and gives full control to the developers.
Thus, you can consider MVC Framework as a major framework built on top of ASP.NET providing a
large set of added functionality focusing on component-based development and testing.