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.
Ideal for developing complex but lightweight applications it provides an extensible and pluggable framework, which can be easily replaced and customized.
For example, if your business does not use the in-built Razor or ASPX View Engine, then you can use any other one.
Utilizes the component-based design of the application by logically dividing it into Model, View, and Controller components.
This enables our 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.