This video introduces the Model-View-Controller (MVC) architectural pattern that is the foundation of ASP.NET MVC, as well as what benefits it offers over other frameworks.
- [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.
- Capabilities of the ASP.NET platform
- Running and debugging a web application
- Creating a Web Forms application
- Building dynamic pages with Razor syntax
- Working with models and forms in ASP.NET MVC
- Data access with Entity Framework
- Building RESTful services using ASP.NET Web API
- Real-time web functionality with SignalR