What is MVC, really?
MVC stands for Model – View –Controller. It is a design pattern that separates the presentation layer from the actual data processing so that the same model can be used for various views.
- Model – Model represents data or information. It is responsible for actual data processing like querying database, updating data, implementing business rules. Data provided by Model is “Raw”, display – neutral and can be casted to any view. Model responds to the request made by controllers and notifies the registered views to update their display with new data.
- View – View is responsible for the look and feel of raw data provided by the model. It also provides a user interface to interact with the system. It is the pretty GUI that users see on the screen.
- Controller – It runs the show, it is responsible for interpreting user requests and performing an action to command model and view to change.
What is ASP.NET MVC?
Original MVC pattern is integrated with existing ASP.NET MVC features, such as master pages and membership-based authentication to give ASP.NET MVC framework. In MVC pattern, controllers are closely associated with views and sometimes share the role. But in web applications, the separation between view (the browser) and controller (the server-side components handling the HTTP request) is very well defined. Here is a picture illustrating MVC in web applications using a typical HTTP request.
What are the Benefits?
- Supports test driven development
- Supports extensible and pluggable development
- It is possible to have development process in parallel for model, view and controller.
- It is easier to add new clients just by adding their views and controllers.
- Increased complexity, requires high skilled experienced professionals.
- It requires significant amount of time to analyze and design.
- This design approach might be an overkill for smaller applications.
Depending on the scope, reusability and extensibility of your next Web Application, ASP.NET MVC may be a good choice for you.
MINAL WAD | Business Solutions Developer
Ever since Minal joined KTL Solutions in March 2008, she has been diligently working as a Business Solutions Developer, providing customized software that integrates with Dynamics GP. She has a passion for using technology to solve real world problems, and it is this passion that enables her to deliver projects with exceptional quality in time and within budget. Her role as a business analyst, is a new found skill, and she has been able to successfully demonstrate it in some of her recent projects. She is proficient in C#, ASP.Net, SQL Server, Sharepoint, WPF, Entity Framework, MVVM and Database Design. Minal has over 8 years of experience as a developer. Prior to KTL, she worked with Microsoft in Fargo, ND, where she was a part of Dynamics Axapta team. She holds a Master’s degree in Computer Science from Oklahoma State University. She involves herself in training and certifications that keeps her abreast with new technologies.