What is ASP.NET MVC?

The ASP.NET MVC is a web application framework developed by Microsoft, which implements the model–view–controller (MVC) pattern. Based on ASP.NET, ASP.NET MVC allows software developers to build a web application as a composition of three layers: Model, View and Controller.

This three layers serve different, separate purposes, which communicate with each other, but never mix (this is a key point of MVC pattern). Model represents the state of a particular aspect of the application. Controller handles interactions and updates the model to reflect a change in state of the application, and then passes information to the view. View accepts necessary information from the controller and renders a user interface to display that information.

MVC Pattern

Source: msdn.microsoft.com

The ASP.NET MVC framework is 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.

Key features

  • Support for existing ASP.NET features.
  • Easy to manage complexity by dividing an application into the model, the view, and the controller.
  • Does not use view state or server-based forms. Ideal for developers who want full control over the behavior of an application.
  • Very good support for test-driven development (TDD).
  • Advanced routing, which is a powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs.
  • An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized.

Short answer

  • The ASP.NET MVC is a web application framework, which implements the model–view–controller (MVC) pattern.
  • MVC pattern splits application into three layers, which interact with each other, but never mix.
  • The ASP.NET MVC framework is an alternative to the ASP.NET Web Forms, ideal for large teams and TDD approach; is better for developers, who want full control over application.

Similar articles

Comments