In my previous article, we learned about MVC pattern of application development. If you haven’t gone through it, then please check it here.
Models: The Model is basically the domain object that represents the application’s data. It is mainly responsible for maintaining the state of the data. These domain objects encapsulates data that is stored in a database and the code that manipulates data.
View: It is a component that renders data from the model in the user interface. These are basically HTML templates that are coupled with data that are generated by model.
Controller: This is a special class that manages the relationship between the View and the Model. It responds to user input, talks to the Model, and decides which view to render.
Why ASP.NET MVC and Not Web Forms ?
The main intent of ASP.NET MVC is to provide a great web development experience on the .NET platform using the MVC pattern . Followings are some of the benefits that ASP.NET MVC provides.
Separation of Concerns (SoC) –
MVC design pattern facilitates separation of data processing from content and content from presentation. The source code within MVC is very clean, organized and granular, making it easier for a web application to scale in terms of functionality.
Faster Development –
ASP.NET MVC framework allows faster and parallel development. The separation of concern of the framework enables multiple developers to work on view, model and controller separately and simultaneously without hampering the development process.
Easier integration with other tools –
ASP.NET MVC provides an easier way of integration with latest technologies like jQuery, JSON, AngularJS, mobility etc.
Code Re-usability –
In ASP.NET MVC framework, the controller uses different pieces of the model and view to create a request, many of these parts can be reused in other MVC applications.
Search Engine Optimization (SEO) Friendly URL’s –
ASP.NET MVC platform supports and also provides components which can be used to generate URL’s that are SEO friendly.
High performance –
ASP.NET MVC engine renders HTML which doesn’t contain any view-state data, this reduces the web page size and in turn improves web application performance.