O'Reilly logo
live online training icon Live Online training

C# MVC and MVVM Design Patterns

Programmers Introduction to MVC and MVVM Design Patterns

Keith Welch

Model View Controller (MVC) and Model - View – ViewModel (MVVM) are architectural design patterns that are very commonly used in many programming languages, including C#. MVC is a C# web project type, fully supported by Microsoft Visual Studio. MVVM is often used in mobile platform development, including Xamarin Forms.

In this course, you'll learn about the MVC and MVVM design patterns conceptually, and will use the patterns to create C# projects. Each part of the pattern will be covered in detail. Once you have completed this course, you will be able to use these patterns to create your own C# code.

What you'll learn-and how you can apply it

Participants will understand:
- The concepts behind the MVC and MVVM patterns.
- How to create an MVC web project in C#.
- How to use the MVVM pattern in mobile development.

This training course is for you because...

The course is targeted at C# developers who want to have deeper understanding of application architecture, in particular two design patterns that are extensively used in web and mobile development.


  • Familiarity with C# as well as basic object oriented programming principles.

Materials or Downloads Needed in Advance
- Working files are included, allowing you to follow along with the author throughout the lessons. You can download them in advance of class here.

About your instructor

  • Keith Welch has been in engineering for over 30 years, and in software development for over 20. Besides being old, he has worked in .Net since the first beta, and in mobile for over 10 years. He is the founder of Mooseworks Software, a custom software development and developer tools company. He is based in New Hampshire and Turks and Caicos, and blogs on http://developerisland.com/.


The timeframes are only estimates and may vary according to how the class is progressing

  • Lecture: MVC Design Pattern Concepts and Terminology (20 minutes)
  • Lecture: MVC Projects and Data Model (20 minutes)
  • Lecture: MVC Controllers and Views (20 minutes)

  • Break (10 minutes)

  • Lecture: MVVM Design Pattern Concepts, MVVM in Xamarin Forms Projects (20 minutes)

  • Lecture: MVVM Data Model and Views (20 minutes)
  • Lecture: MVVM View Models (20 minutes)

  • Q&A / Wrap-up