ASP .NET MVC: Introduction

ASP.NET MVC is an open-source software from Microsoft. Its web development framework combines the features of MVC (Model-View-Controller) architecture, the most up-to-date ideas and techniques from Agile development and the best parts of the existing ASP.NET platform. This tutorial provides a complete picture of the MVC framework and teaches you how to build an application using this tool.

ASP .NET MVC Pattern

The MVC (Model-View-Controller) design pattern has actually been around for a few decades, and it's been used across many different technologies. Everything from Smalltalk to C++ to Java, and now C Sharp and .NET use this design pattern to build a user interface. Following are some salient features of the MVC pattern:
- Originally it was named Thing-Model-View-Editor in 1979, and then it was later simplified to Model- View-Controller.
- It is a powerful and elegant means of separating concerns within an application (for example, separating data access logic from display logic) and applies itself extremely well to web applications.
- Its explicit separation of concerns does add a small amount of extra complexity to an application’s design, but the extraordinary benefits outweigh the extra effort.
- The MVC architectural pattern separates the user interface (UI) of an application into three main parts.
1. The Model- A set of classes that describes the data you are working with as well as the business logic.
2. The View- Defines how the application’s UI will be displayed. It is a pure HTML, which decides how the UI is going to look like.
3. The ControllerA set of classes that handles communication from the user, overall application flow, and application-specific logic.

Why to use MVC

1. Faster development process: MVC supports rapid and parallel development. If an MVC model is used to develop any particular web application then it is possible that one programmer can work on the view while the another can work on the controller to create business logic of the web application. Hence this way, the application developed using MVC model can be completed three times faster than applications that are developed using other development pattern.
2. Ability to provide multiple views: In the MVC Model, you can create multiple views for a model. Today, there is an increasing demand for new ways to access your application and for that MVC development is certainly a great solution. Moreover, in this method, Code duplication is very limited because it separates data and business logic from the display.
3. Support for asynchronous technique: The MVC architecture can also integrate with the JavaScript Framework. This means that MVC applications can be made to work even with PDF files, site-specific browsers, and also with desktop widgets. MVC also supports asynchronous technique, which helps developers to develop an application that loads very fast.
4. Modification does not affect the entire model: For any web application, user interface tends to change more frequently than even the business rules of the company. It is obvious that you make frequent changes in your web application like changing colors, fonts, screen layouts, and adding new device support for mobile phones or tablets. Moreover, Adding new type of viewsare very easy in MVC pattern because the Model part does not depend on the views part. Therefore, any changes in the Model will not affect the entire architecture.
5. MVC model returns the data without formatting: MVC pattern returns data without applying any formatting. Hence, the same components can be used and called for use with any interface. For example, any kind of data can be formatted with HTML, but it could also be formatted with Macromedia Flash or Dream viewer.
6. SEO friendly Development platform: MVC platform supports development of SEO friendly web pages or web applications. Using this platform, it is very easy to develop SEO-friendly URLs to generate more visits from a specific application. This development architecture is commonly used in the Test Driven Development applications. Moreover, Scripting languages like JavaScript and jQuery can be integrated with MVC to develop feature rich web applications. Thus, MVC design pattern is a surely the great approach to building software applications. The MVC framework is easy to implement as it offers above given numerous advantages. Projects that are developed with the help of MVC model can be easily developed with lesserexpenditure and within less time too. Above all, its power to manage multiple views makes MVC the best architecture pattern for developing web applications.