MVC
MVC
MVC
components: the model, the view, and the controller. The ASP.NET MVC framework provides an
alternative to the ASP.NET Web Forms pattern for creating Web applications. The ASP.NET MVC
framework is a lightweight, highly testable presentation framework that (as with Web Forms-based
applications) is integrated with existing ASP.NET features, such as master pages and membership-based
authentication.
Models. Model objects are the parts of the application that implement the logic for the
application's data domain. Often, model objects retrieve and store model state in a
database. For example, a Product object might retrieve information from a database,
operate on it, and then write updated information back to a Products table in a SQL
Server database.
Views. Views are the components that display the application's user interface (UI).
Typically, this UI is created from the model data. An example would be an edit view of a
Products table that displays text boxes, drop-down lists, and check boxes based on the
current state of a Product object.
Controllers. Controllers are the components that handle user interaction, work with the
model, and ultimately select a view to render that displays UI. In an MVC application,
the view only displays information; the controller handles and responds to user input and
interaction. For example, the controller handles query-string values, and passes these
values to the model, which in turn might use these values to query the database.
The MVC pattern helps you create applications that separate the different aspects of the
application (input logic, business logic, and UI logic), while providing a loose coupling between
these elements. The pattern specifies where each kind of logic should be located in the
application. The UI logic belongs in the view. Input logic belongs in the controller. Business
logic belongs in the model. This separation helps you manage complexity when you build an
application, because it enables you to focus on one aspect of the implementation at a time. For
example, you can focus on the view without depending on the business logic.
The loose coupling between the three main components of an MVC application also promotes
parallel development. For example, one developer can work on the view, a second developer can
work on the controller logic, and a third developer can focus on the business logic in the model.