Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
.NET MAUI Cross-Platform Application Development

You're reading from   .NET MAUI Cross-Platform Application Development Build high-performance apps for Android, iOS, macOS, and Windows using XAML and Blazor with .NET 8

Arrow left icon
Product type Paperback
Published in Mar 2024
Publisher Packt
ISBN-13 9781835080597
Length 496 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Roger Ye Roger Ye
Author Profile Icon Roger Ye
Roger Ye
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Exploring .NET MAUI FREE CHAPTER
2. Getting Started with .NET MAUI 3. Building Our First .NET MAUI App 4. User Interface Design with XAML 5. Exploring MVVM and Data Binding 6. Navigation Using .NET MAUI Shell and NavigationPage 7. Software Design with Dependency Injection 8. Using Platform-Specific Features 9. Part 2: Implementing .NET MAUI Blazor
10. Introducing Blazor Hybrid App Development 11. Understanding Blazor Routing and Layout 12. Implementing Razor Components 13. Part 3: Testing and Deployment
14. Developing Unit Tests 15. Deploying and Publishing in App Stores 16. Other Books You May Enjoy
17. Index

Improving the login process

In the process of user management, we may need to add new users or remove outdated users from the system. For our app, it only allows one user to log in at a time. To support this feature, we can implement a class using the singleton pattern. Alternatively, we can implement a class and utilize dependency injection to have a similar effect on the singleton pattern. For instance, we can create a LoginService class that inherits from the User class, as demonstrated in Listing 5.4:

using System.Diagnostics;
using PassXYZLib;
namespace PassXYZ.Vault.Services;
public class LoginService : PxUser {                             //(1)
  private IUserService<User> _userService;
  private const string PrivacyNotice = "Privacy Notice";
  public static bool IsPrivacyNoticeAccepted {
    get => Preferences.Get(PrivacyNotice, false);
    set => Preferences.Set(PrivacyNotice, value);
  }
  public LoginService(IUserService<User> userService...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime