【C#/.NET】MAUI上的依赖注入

内容分享5天前发布
0 0 0

引言

        在移动应用开发中,依赖注入是一项超级重大的技术,它可以协助我们简化代码结构、提高可维护性并增加测试覆盖率。在最新的.NET跨平台框架MAUI中,我们也可以利用依赖注入来构建高效的应用程序架构。本文将详细介绍在MAUI上如何使用依赖注入,旨在协助开发者更好地理解和应用这一技术。

什么是依赖注入?

        依赖注入是一种设计模式,它通过将对象的创建和依赖关系的管理交给容器来简化应用程序的开发。依赖注入有助于解耦组件之间的依赖关系,使得代码更加灵活、可扩展并且易于测试。

为什么在MAUI上使用依赖注入?

        在MAUI中,应用程序需要处理各种不同的服务、组件和资源,而这些依赖关系的管理可能会变得超级复杂。使用依赖注入可以有效地解耦这些依赖关系,使得我们能够更加专注于应用程序的业务逻辑,而无需关注底层的实现细节。

如何在MAUI上使用依赖注入?

        第一创建好一个.NET MAUI项目之后,需要有以下前提条件

   

          HorizontalTextAlignment=”Center”

          Text=”{Binding LabelText}”/>

namespace QuickCalc.App.ViewModels;publicclass LabelViewModel

{

    publicstringLabelText {get;set; } =”Hello World”;

}

        我们通过依赖注入将LabelText属性绑定到Label的Text上。

varbuilder = MauiApp.CreateBuilder();

            builder

                .UseMauiApp()

                .ConfigureFonts(fonts =>                {

                    fonts.AddFont(“OpenSans-Regular.ttf”,”OpenSansRegular”);

                    fonts.AddFont(“OpenSans-Semibold.ttf”,”OpenSansSemibold”);

                });#ifDEBUG        builder.Logging.AddDebug();#endifreturnbuilder.Build();

第一步安装Microsoft.Extensions.DependencyInjection

Install-Package Microsoft.Extensions.DependencyInjection

第二步打开MauiProgram.cs

publicstatic MauiApp CreateMauiApp()

        {

            varbuilder = MauiApp.CreateBuilder();

            builder

                .UseMauiApp()

                .ConfigureFonts(fonts =>                {

                    fonts.AddFont(“OpenSans-Regular.ttf”,”OpenSansRegular”);

                    fonts.AddFont(“OpenSans-Semibold.ttf”,”OpenSansSemibold”);

                });

            //服务注册builder.Services.AddSingleton();

            builder.Services.AddSingleton();#ifDEBUG        builder.Logging.AddDebug();#endifreturn builder.Build();

        }

        增加的两句服务注册

builder.Services.AddSingleton();

builder.Services.AddSingleton();

第三步修改App.xaml.cs

publicpartialclass App : Application

  {

      public App(MainPage mainPage)

      {

          InitializeComponent();

          MainPage = mainPage;

      }

  }

        增加了MainPage的构造函数注入

第四步修改MainPage.xaml.cs

publicpartialclass MainPage : ContentPage

{

    public MainPage(LabelViewModel labelViewModel)

    {

        InitializeComponent();

        BindingContext = labelViewModel;

    }

}

        增加了LabelViewModel的构造函数注入以及BindingContext的赋值。

第五步运行程序

至此,运行项目可以看到hello,World!已经在MAUI中继承了依赖

 结论

        在MAUI上,依赖注入是一个超级有价值的技术,它可以协助我们构建简洁、灵活和可测试的应用程序。通过合理地使用依赖注入,我们能够有效地管理和解耦组件之间的依赖关系,提高开发效率和代码质量。希望本文对您理解和应用MAUI上的依赖注入有所协助!

© 版权声明

相关文章

暂无评论

none
暂无评论...