Develop with ASP.NET MVC

Overview

ASP.NET MVC (MVC) is an alternative to the classic WebForms model in ASP.NET for creating web applications. MVC is an architectural pattern that separates an application into the three components – the “model”, the “view”, and the “controller”. These three components represent the business logic, the user interface logic (UI), and the input logic, respectively. 

MVC components

  • Model - holds and manages the business logic, rules, and data. For example, the data received when users fill in a form on your website is stored in a specific database and retrieved in a specific way.
  • View - displays the application’s UI, that is, present the information to the user. For example, the form a user sees on a webpage, along with dropdown menus, radio buttons, text, and so forth.
  • Controller - handles user interaction and processes input by working with the model and rendering the right view to display the UI. For example, when a user completes a form on the UI, the controller sends the information to the model and the “Form complete” confirmation is displayed.

This pattern applies the principle of a “separation of concerns” in application development, so that each of the components is responsible for one function only. While components are loosely coupled, the separation helps you manage the complexity of your web application since you focus on one aspect of the implementation at a time. 

The following diagram illustrates how MVC components work together:

mvc

In addition, with MVC you can benefit from all ASP.NET features, for example forms and Windows authentication, caching, master pages, and so on. 

Additional resources

External resources

Was this article helpful?