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.
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.
- 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.
- 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.