ASP.NET MVC is a web application development framework built on top of Microsoft mature .Net Framework.
Before starting the introduction to Asp.net MVC Framework, let’s check past where Microsoft has a long dream of creating windows based web development platform.
The following are the platforms that are introduced by Microsoft before Asp.Net MVC.
First, Microsoft has created the Active server pages (ASP). In this, all code was written on the same page (scripts and server code, which became hard to understand and Maintain ). After that, to overcome these things, Microsoft produces another solution as Asp.net WebForms.
Asp.net WebForms was a solution to the problem of ASP. The Web Forms came with separation of code. In this, we have separate UI and server code (HTML | SERVER), so it's easy for developers to develop applications and fast too. This was the best Framework for many developers, and many websites have been developed from it.
But the problem with Framework was that we could not reuse code because (.aspx.cs) it is tightly coupled with (.aspx), and this also creates problems while testing the application because we cannot isolate this application because of tight coupling. For that, Microsoft came with a new flavor for the web developing platform was MVC.