The MVVM pattern (Model-View-ViewModel) enables easy code reusability and testability for XAML-based applications and allows code reuse between WPF, WinUI, MAUI, and more.
App Development using the MVVM Pattern
Duration: 2 days
To enable easy code reusability and testability of XAML-based applications, the MVVM pattern (Model-View-ViewModel) was created. This pattern allows easy code reuse between WPF, WinUI, MAUI, etc.
Who Should Attend
- Developers and technical professionals who want to deepen their skills in App Development using the MVVM Pattern.
- Architects and team leads evaluating practical implementation patterns.
- Teams adopting modern engineering practices for delivery and operations.
Prerequisites
- Basic software development experience
- Familiarity with common development tools and workflows
- Interest in applying the course topics in real projects
Learning Goals
- Understand the core concepts and architecture behind the course topic
- Apply recommended implementation patterns in practical scenarios
- Build and validate solutions using modern tooling and workflows
- Troubleshoot common issues and improve reliability
- Plan next steps for production-ready adoption
Course Content
- Introduction to the MVVM Pattern
- Use of Dependency Injection
- Data Access and Calling REST Services
- ViewModels and Views
- Messaging with Events
- User Input and Validation
- Master/Detail Views
- Navigation
- Comparison of MVVM Frameworks
Introduction to the MVVM Pattern
Here you will learn an introduction to the MVVM pattern - with a comparison to the Model-View-Controller (MVC) and the Model-View-Presenter (MVP) pattern. Also covered are features that make the MVVM pattern possible: data binding and commands.
Dependency Injection
Code reuse and simple unit testing are two of the goals that are achieved with Dependency Injection. You will learn the basics of Dependency Injection (or the Hollywood Principle), and also the use of Dependency Injection containers.
Data Access and Calling REST Services
Accessing REST services using the Repository Pattern, including caching of data - here you will learn how to access API services from the client application.
ViewModels and Views
A view model is connected to views. Views are mainly created with XAML code, view models with C#. The connection is done using data binding. Here you will learn how to create views and view models, as well as different ways to connect them.
Messaging with Events
Often you need communication between different view models, or a view model needs to communicate with a view. In such a communication it is important to keep the coupling low. Events help to do this.
User Input and Validation
After users have entered data, it helps to validate this data before sending it to the server. You can learn how to validate data here.
Master/Detail Views
Data often needs to be displayed with Master/Detail. Here you can learn how to do this with MVVM.
Navigation
Different platforms offer different ways to navigate between pages. These built-in navigation features often conflict with the MVVM pattern. How this can be solved, but also practical variants to easily implement navigation are covered here.
Hands-on Labs
- Set up a working project baseline for the course topic
- Implement a core feature and validate expected behavior
- Integrate testing or automation to improve quality and repeatability
Outcomes
After completing this course, participants can apply the covered concepts and tooling to implement reliable solutions in real-world projects.