In this article youI will learn about MVC pattern and ASP.NET MVC. MVC is an architectural pattern to develop enterprise application.

What is MVC?

MVC stands for Model View Controller. It is an architectural pattern to develop enterprise application. It is not a Microsoft technology, whether it is a common design pattern that is used to create web application. It is used to create structure user-oriented application. MVC is most similar to MVVM [Model View View-Model] but not completely.

  • M – Model
  • V – View
  • C – Controller


The following is the detailed description:  

  1. Model

    Model is entity class that encapsulates the properties and the behaviors of domain. It also contains the business logic. MVC components use Model to perform logic. Model is basically represented to data objects like it can be business logic, validation or data access logic. The view and the controller both can access the Model. 
  2. View

    It’s a GUI. View is nothing but a User Interface. Basically user interacts with a View. View is used to display data, add data or modify data. View is rendered on browser. It renders the data in html form. So, we can say, a view is a result that a user can see while interacting with web application. 
  3. Controller

    It handles the request coming from the users and as per data it connects with Model and perform some logic and display data on View. So, basically it validates the user request and process data as per requirement.

What is ASP.NET MVC?

ASP.NET MVC is a framework that supports MVC Design Pattern to develop different kinds of application. It is Microsoft Open Source Framework and also light weight to other framework. Now a days it is the most popular framework in web development because it supports and provides us many features such as Routing, Unit Test Capability, Bundling and Minification, Separation of the code, etc. Loose coupling is the main concern to use ASP.NET MVC.

So, ASP.NET is A web application framework that is designed with separations of concerns and testability in mind.

Asp.Net MVC Advantages

It provides us numbers of benefits as compared to other programming approach. The following are the features which force us to use ASP.NET MVC.


  • Development

    It supports Loose Coupling that means we can create a project with multiple components; these components will not be dependent to each other. If there is some complication in one component it will not be effect the development of other component. So, this feature makes development very easy for developers.
  • Testability

    It is a Test Driven Development (TDD). As you know MVC is loosely coupled so we can test a particular component without affecting other component. If one component is going to be tested and it is dependent to other component then we can pass input as mock component and test the particular component. So, Mocking makes testing very easy.
  • Performance

    ASP.NET MVC does not support normal web form features like ViewState, Postback etc. So, there is no need to maintain the state of control. It makes it faster in performance.
  • Full Html Control

    It also does not support any server control and only supports pure html input control that makes it faster to normal web form.
  • Extensibility

    It supports multiple view engines like aspx, razor. If you want to create your own engine, you can create.

So, today you learned about MVC and Asp.Net MVC.

I hope this post will help you. Please put your feedback using comment which helps me to improve myself for next post. If you have any doubts please ask your doubts or query in the comment section and if you like this post, please share it with your friends. Thanks