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:
- 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.
- 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.
- 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.
Thanks for reading the article. Hope you enjoyed it.