From the course: Learning ASP.NET

The Model-View-Controller (MVC) pattern

From the course: Learning ASP.NET

Start my 1-month free trial

The Model-View-Controller (MVC) pattern

- [Instructor] The ASP.NET MVC framework is based on the model view controller architecture pattern. The model is a class that represents data and can also handle business logic for the application. The view is what the user sees. It's responsible for taking information from the model and displaying it on the user interface. The controller manages the interaction between the model and the view. It gets user input from the view and passes results back to the view with the help of the model. This design pattern provides separation of concerns because it separates the presentation from the business layer. The view knows nothing about the controller and the model doesn't know anything about the view. This limits the interdependencies between the different parts of the system. Loose coupling is a term you might see that describes this type of approach. The result is that our applications are more maintainable and testable. With MVC it's possible to test individual components in isolation from the rest of the framework. That's an advantage over other approaches, like ASP.NET webforms. It's harder to test webforms because so many classes are created to run the form, like the page class and child controls. By adhering to separation of concerns and reducing interdependencies, MVC helps us build more stable systems. MVC applications also promote parallel development. For example, while one developer works on the view another can work on the controller logic or focus on the business logic in the model. ASP.NET MVC was also developed to be extendable. Every major feature can be extended and customized, offering you a lot of flexibility.

Contents