Book Image

The MVVM Pattern in .NET MAUI

By : Pieter Nijs
Book Image

The MVVM Pattern in .NET MAUI

By: Pieter Nijs

Overview of this book

In today's fast-paced world of modern software development, teams need to be efficient, productive, and capable of rapidly adapting to changes to deliver high-quality products, making it crucial for developers to write maintainable and easy-to-test code. The MVVM Pattern in .NET MAUI helps you to thoroughly explore the Model-View-View Model (MVVM) design pattern. The chapters show you how this pattern helps in structuring code to embrace the separation of concerns, allowing for loosely coupled user interface and application logic, which ultimately empowers you to write more robust, maintainable, and testable code. The book also highlights .NET MAUI's capabilities and features, and enables you to delve into the essential components within the framework that facilitate the application of the MVVM pattern. With the help of a sample application, this definitive guide takes a hands-on approach to walk you through both the essential and advanced usages of the MVVM pattern to ensure that you successfully apply the practical aspects of the pattern to your .NET MAUI projects. By the end of this book, you’ll have gained a comprehensive understanding of the MVVM design pattern and its relevance in the context of .NET MAUI, as well as developed the skills needed to successfully apply it in practice.
Table of Contents (20 chapters)
Free Chapter
1
Part 1: Key Concepts and Components
8
Part 2: Building a .NET MAUI App Using MVVM
13
Part 3: Mastering MVVM Development

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “RecipeDetailViewModel represents the details of a recipe. For now, it only contains a Title property, which we now give a hardcoded value of "Classic Caesar Salad".”

A block of code is set as follows:

<Grid ColumnDefinitions="*, Auto">
    <Label
        FontAttributes="Bold" FontSize="22"
        Text="{Binding Path=Title, Mode=OneTime}"
        VerticalOptions="Center" />
    <Image
        x:Name="favoriteIcon"
        Grid.Column="1" Margin="5"
        HeightRequest="35" Source="favorite.png"
        VerticalOptions="Center" WidthRequest="35">
    </Image>
</Grid>

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

private bool _hideAllergenInformation = true;
public bool HideAllergenInformation
{
    get => _hideAllergenInformation;
    set => SetProperty(ref _hideAllergenInformation, value);
}

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “Right-click the Recipes.Client.Core project and select Add | New Folder and name it Messages. “

Tips or important notes

Appear like this.